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

4

1 回答 1

1

在没有收到任何答案的情况下,我深入研究了一下,发现......

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

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

从这里获得的信息

于 2020-03-21T15:01:50.250 回答