我开发了一个应用程序来进行安全调查问卷。该应用程序允许为个别问题添加照片。我用UIImagePickerController
这个。从 iOS 11 开始,我注意到,无论是在模拟器还是 iPad 中,从照片库中选择图像都会自动将所选图像以“temp”名称保存在应用程序的 tmp 文件夹中(例如 57576A97-21D4-465F- 91B6-11215F8B5F97.jpeg)。这种情况甚至在didFinishPickingMediaWithIn
执行之前就会发生。
这是我设置的代码UIImagePickerController
:
let imagePicker = UIImagePickerController()
imagePicker.delegate = self
imagePicker.sourceType = .photoLibrary;
imagePicker.allowsEditing = false
self.present(imagePicker, animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
使用应用程序期间不会删除该图像。如果用户添加大量照片,这意味着所有这些照片将存储在 tmp 目录中,这最终可能会导致崩溃。
目前我已经做了一个解决方案,每次都会搜索“临时”文件并删除它们。
我已经检查了 iOS 10.1 模拟器,但在临时目录中没有创建所选图像的副本(使用相同的代码)。在 iPad 上测试时,使用相机不会生成所选图像的“临时”副本
我的问题是:iOS 11 中的标准行为是否保存临时文件UIImagePicker
,还是可以避免?