在我的应用程序中,我从互联网上下载图像并将其存储在文档目录中。强制关闭应用程序并再次调试后,文档目录的位置似乎发生了变化。我相信每次调试应用程序时都会分配一个新的应用程序ID ...这是正常行为吗?
我将图像文件路径存储在CoreData中,然后当我加载它们时,我打印filePath以帮助我调试,这就是我所看到的:
/ var / mobile / Applications / 37A083EC-ED2E-4B40-80E3-E1E813AB3D1E / Documents / 2740-Chris Robinson Brotherhood.jpg
如果我停止调试,并且在我的真实iPhone上我强制关闭应用程序,并再次调试我存储在CoreData中的文件路径保持与上面相同,但是当我将文档目录作为测试引用时,它会显示应用程序ID已经改变了:
的/ var /移动/应用/ D952D72B-E3AD-4085-99FD-7C06000DA66C /文件
我怎样才能解决这个问题?
答案 0 :(得分:9)
是的,这是正常现象,将发生在真实用户运行的真实设备上。
解决方案很简单 - 只存储相对于Documents文件夹的路径。您将在运行时获取Documents文件夹的路径,然后附加存储的相对路径以获取最终路径。
这样,即使用户将您的应用更新为新版本并且应用的路径发生变化,您的应用也可以正常运行。