每次调试测试后更改文档位置

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 文件夹的路径,然后附加存储的相对路径以获取最终路径。

即使用户将您的应用更新到新版本并且应用的路径发生更改,这也可以让您的应用正常工作。

【讨论】:

以上是关于每次调试测试后更改文档位置的主要内容,如果未能解决你的问题,请参考以下文章

Node.js 调试流程

如何使用spyder调试python代码

如何调试反应路由器未在 url 更改时加载组件

iOS模拟器调试时无法获取自定义位置

在多次运行中调试具有相同内存地址位置的程序?

python错误处理/调试/单元测试/文档测试