【问题标题】:After iOS 5 update, files in my document directory are gone? Is iOS changing the documents directory?iOS 5 更新后,我的文档目录中的文件不见了? iOS是否正在更改文档目录?
【发布时间】:2011-12-22 15:18:57
【问题描述】:

更新到 iOS5 时,我的应用程序出现了一点问题。 在我的文档目录中,我有一个 sqlite 文件和 PDF 文档。 sqlite 文件包含 PDF 文档的 url。

当我启动我的应用程序时,我可以看到保存在 sqlite 文件中的文档列表。 但是当我想打开一个pdf时,找不到文档。

所以我认为 iOS 更改了文档目录地址。 这可能吗?

我这样保存我的 pdf 的地址:

NSArray *pathArr = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                                       NSUserDomainMask,
                                                                       YES);
NSString *filename = [NSString stringWithFormat:@"%@/%@/%@",[pathArr objectAtIndex:0],title,versionString];

【问题讨论】:

  • 同样的事情也发生在我身上。该文件仍然存在,但应用程序找不到它。如果它创建一个新的同名的,它可以找到并打开它。

标签: ios filesystems ios5 nsdocumentdirectory


【解决方案1】:

没有铁道部信息很难回答您的问题。您能够读取您所说的位于 Documents 文件夹中的 sqlite 文件这一事实表明您的程序至少可以找到该文件。

您可以通过设置 应用程序支持 iTunes 文件共享 应用程序的 info.plist 文件中的属性。然后您可以查看应用程序的 Documents 文件夹并在 iTunes 中添加/删除文件。

你也可以看看

~Library/Application Support/iPhone Simulator/<IOSVERSION>/Applications/<UUID>/Documents

如果您正在运行模拟器,则为目录。

您至少会知道 Documents 目录的实际内容是什么...

【讨论】:

  • 文件在那里。但我认为问题在于,我硬编码了 pdf 的文件路径并将其保存到 sqlite 文件中。我认为 NSDocumentDirectory 在 iOS5 中返回的东西与在 iOS4 中不同。另外如何模拟版本更新?因为当我在 iOS5 中进行全新安装时,它运行良好。
  • 我会说除了查看存储在 sqlite db 中的路径并修剪它(如果需要)并将其附加到 NSSearchPathForDirectoriesInDomains 返回的当前路径之外,您别无选择。那你就不用关心版本更新了。
  • @John,NSSearchPathForDirectoriesInDomains 文件夹是否返回 /Library/Cache/ 而不是 iOS5.0 中的 /Documents?我读到对于 iOS 5,您需要将所有下载的内容存储到库而不是文档。
猜你喜欢
  • 2016-05-20
  • 1970-01-01
  • 2015-10-20
  • 2014-08-11
  • 2014-11-30
  • 1970-01-01
  • 1970-01-01
  • 2012-04-26
  • 2016-04-17
相关资源
最近更新 更多