每次调试测试后更改文档位置
Posted
技术标签:
【中文标题】每次调试测试后更改文档位置【英文标题】:Documents Location Changing After Each Debug Test 【发布时间】:2014-07-07 18:36:00 【问题描述】:在我的应用程序中,我从互联网下载图像并将它们存储在文档目录中。强制关闭应用程序并再次调试后,文档目录的位置似乎发生了变化。我相信每次调试应用程序时它都会分配一个新的应用程序 ID……这是正常行为吗?
我将图像文件路径存储在 CoreData 中,然后在加载它们时打印 filePath 以帮助我调试,这是我看到的:
/var/mobile/Applications/37A083EC-ED2E-4B40-80E3-E1E813AB3D1E/Documents/2740-Chris Robinson Brotherhood.jpg
如果我停止调试,并且在我的真 iPhone 上强制关闭应用程序并再次调试,我存储在 CoreData 中的文件路径与上面相同,但是当我引用文档目录作为测试时,它会显示应用程序 ID变了:
/var/mobile/Applications/D952D72B-E3AD-4085-99FD-7C06000DA66C/Documents
我该如何解决这个问题?
【问题讨论】:
【参考方案1】:是的,这是正常的,并且会在真实用户运行的真实设备上发生。
解决方案很简单 - 只存储相对于 Documents 文件夹的路径。您在运行时获取 Documents 文件夹的路径,然后附加存储的相对路径以获取最终路径。
即使用户将您的应用更新到新版本并且应用的路径发生更改,这也可以让您的应用正常工作。
【讨论】:
以上是关于每次调试测试后更改文档位置的主要内容,如果未能解决你的问题,请参考以下文章