我开发了Flutter应用程序,该应用程序使用相机捕获图像,并使用Shared Preferences
存储对图像文件的引用。
当我升级iOS应用程序时,Shared Preference
文件名将按预期保留,但是图像不再显示在iOS设备上(并且似乎不再存在)File(_imageFileRef).existsSync()
为假
例如,在iPhone上,图像文件另存为
/private/var/mobile/Containers/Data/Application/580A9879-23CD-413D-A785-DB910673DF74/tmp/some_guid_image_name.jpg
升级应用程序后,该文件似乎不再存在。
我应该将图像文件保存到iOS的什么位置,以便它们在升级中持续存在?
该功能在Android设备上完美运行。
没有收到任何答案,我更深入地研究发现了...
...正在写入图像的tmp
目录用于不需要在应用程序启动之间持久存在的临时文件。当不再需要文件时,您的应用应从该目录中删除文件;但是,当您的应用未运行时,系统可能会清除此目录。 iTunes或iCloud不会备份此目录的内容。
因此,为了使数据在应用程序更新中持久存在,我需要写入Documents
目录