如何在iOS设备上的应用程序更新中持久保存图像引用

问题描述 投票:0回答:1

我开发了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设备上完美运行。

ios flutter persistent-storage flutter-ios
1个回答
0
投票

没有收到任何答案,我更深入地研究发现了...

...正在写入图像的tmp目录用于不需要在应用程序启动之间持久存在的临时文件。当不再需要文件时,您的应用应从该目录中删除文件;但是,当您的应用未运行时,系统可能会清除此目录。 iTunes或iCloud不会备份此目录的内容。

因此,为了使数据在应用程序更新中持久存在,我需要写入Documents目录

Info obtained from here

© www.soinside.com 2019 - 2024. All rights reserved.