小编Mar*_*rcI的帖子

UIImagePicker 自动将照片库中选定的图像保存在 tmp 文件夹中

我开发了一个应用程序来进行安全调查问卷。该应用程序允许为个别问题添加照片。我用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,还是可以避免?

temporary-files photolibrary uiimagepickercontroller ios

5
推荐指数
1
解决办法
738
查看次数