【问题标题】:Xcode Getting a Consistent Documents Directory PathXcode 获取一致的文档目录路径
【发布时间】:2015-03-29 09:08:54
【问题描述】:

我已经查看了关于这一点的 Apple 文档以及此处的其他问题,但找不到获取文档目录的一致路径的方法。

NSFileManager *fm = [NSFileManager defaultManager];
NSArray *urls = [fm URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];

NSURL *directory = [urls lastObject];

由于一个组件,这每次都会产生不同的路径。

例子:

file:///var/mobile/Containers/Data/Application/CA708CF5-0E1B-414D-A795-31A8BB884BA5/Documents

下一次运行:

file:///var/mobile/Containers/Data/Application/2C96E341-85EF-485D-AC19-F8844B0880C3/Documents

我意识到我需要某种相对路径,但我不知道如何获得它。如何始终访问 Documents 目录以写入和读取我的应用程序将生成的文件?

【问题讨论】:

  • 每次运行应用程序时可能会得到不同的路径(尤其是在开发过程中。这是正常的。但是每次都会将内容从旧路径复制到新路径,所以一切都应该正常工作只要您不保留完整路径。
  • 我使用的是实际设备。当我使用从上面的代码中找到的路径名保存字典然后使用上面的路径信息检索它时,没有数据。我认为这是由于路径的变化,但你是说不应该是这种情况?
  • 每次构建和部署时,数据都应该从旧位置复制到新位置。这假设您没有在每次构建之间删除应用程序。
  • 谢谢。那么问题必须与写入而不是路径有关。这条路似乎是一条红鲱鱼......

标签: ios xcode nsfilemanager


【解决方案1】:

路径在安装时确定。每次在模拟器中运行应用程序时,它都会被删除并重新安装。因此不同的路径。所以你不必担心这个。

【讨论】:

  • 我不是在模拟器上运行它,而是在实际设备上运行它。如果路径发生更改,当我现在处于会话 2 中时,如何才能访问我在会话 1 中写入的文件?我每次都使用上面的代码来获取路径,由于路径更改,文件不存在。
猜你喜欢
  • 2014-10-01
  • 2013-02-02
  • 2014-12-12
  • 2014-07-09
  • 2012-11-25
  • 1970-01-01
  • 2013-09-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多