我想了解更多有关照片捕捉如何在iOS上运行的信息。我想确保如果使用应用程序拍照,图像仅由应用程序处理,并且不存储在相机胶卷,临时文件等的其他地方。理想情况下,照片被拍摄然后应用程序可以实现加密等,以确保照片以保密方式存储(敏感文件“扫描”为场景)。
在此方案中有哪些安全注意事项,用户将接受培训,不使用系统相机应用程序,只能通过应用程序使用“扫描”功能。使用公共API,任何临时文件或自动图像都将存储在我的控制范围之外,我该如何处理这些?这在documentation中没有明确规定,如果不完全理解,恐怕可能存在安全/隐私泄露。
我看到如何将图像存储在SQLite db中,但是还会留下任何其他文件系统工件吗?
答案 0 :(得分: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];
答案 1 :(得分:0)
没有记录。除了Apple的开发人员之外,没有人知道用UIImagePickerController
拍摄的照片是否会在文件系统的某处产生某个临时文件。
暂时忽略某些临时文件的可能性,照片根本不会存储在照片库或相机胶卷中。您的应用程序可以根据发送到UIImagePickerController
委托方法的图像执行操作。
如果某个临时文件存储在某个地方,唯一可以访问的方法是使用越狱设备。如果您确实需要100%确定在任何时间段都不存在临时文件,那么您将需要一个越狱设备,当您的应用程序使用图像选择器时,您需要扫描文件系统。