2013-05-10 77 views
0

我想了解更多關於如何在iOS上拍攝照片的信息。我想確保如果使用應用程序拍攝照片,圖像僅由應用程序處理,並且不會存儲在相機膠捲,臨時文件等其他位置。理想情況下,拍攝照片然後應用程序可以執行加密等,以確保照片存儲機密(敏感文檔「掃描」的情況)。在應用程序中以編程方式拍攝照片時,手機上存儲的圖像在哪裏?

在這種情況下的安全考慮是什麼,用戶將被訓練不使用系統相機應用程序,並只通過應用程序使用「掃描」功能。使用公共API,將任何臨時文件或自動圖像存儲在我的控制之外,我如何處理這些?這在documentation中沒有明確說明,如果不完全瞭解,恐怕可能存在安全/隱私泄露。

我看到如何將圖像存儲在SQLite db中,但是還會有其他文件系統工件嗎?

回答

0

如果他們是照片,你可以有NSData這些照片作爲最終結果。然後,您可以將照片的數據保存在應用程序內的目錄中。

應用程序支持目錄中存儲該類數據/文件的最佳位置。

NSString *appSupportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) lastObject]; 
NSString *photoPath = [appSupportDir stringByAppendingPathComponent:@"photo1.png"]; 

UIImage *image; //image you got from the camera inside your app 

NSData *photoData = UIImagePNGRepresentation(image); 
[photoData writeToFile:photoPath atomically:YES]; 
0

它沒有記錄。除蘋果公司的開發人員之外,沒有人知道如果使用UIImagePickerController拍攝的照片導致某些臨時文件在文件系統的某處。

暫時忽略某些臨時文件的可能性,照片不會存儲在照片庫或照相機卷中。這是取決於你的應用程序做你會發送到UIImagePickerController委託方法的圖像。

如果一個臨時文件存儲在某個地方,唯一可以訪問的方式是使用越獄設備。如果您確實需要100%確定任何時間段內都沒有臨時文件,那麼您將需要越獄設備,並且您的應用程序將使用圖像選擇器時需要掃描文件系統。

相關問題