在iOS 8中,在应用程序中保存文件的默认文件夹是什么

时间:2014-10-28 17:15:51

标签: ios file

我有一个应用程序可以毫无问题地保存iOS 7中的文件,我可以在iPad上找到它们。 路径是:/ var / mobile / Applications /" UDID" / Documents iOS 8和我中的同一个应用程序无法保存文件和/或找到它们,如果它们保存在某处。它试图将其保存到/ private / var / Containers / Bundles / Application /" UDID" / Documents 但后来它尝试从/ private / var / Containers / Bundles / Application /" UDID"加载保存的文件。 我无法将目录更改为/ private / var / Containers / Bundles / Application /" UDID" / Documents来查找文件。 有什么见解吗?

1 个答案:

答案 0 :(得分:3)

你应该阅读TN2406: Changes to App Containers in iOS 8,它告诉我们以下内容(强调添加):

  

iOS 8更改了用于的标准目录的位置   存储用户和应用程序数据(例如,文档,库)。虽然   这些目录的位置一直是一个实现   细节,一些应用程序不正确地假设文档和   库目录与应用程序位于同一目录中   束。 iOS 8从应用程序中分离应用程序的数据   束。 试图导出文档或路径的代码   库目录将在iOS 8上返回无效路径。尝试   访问此路径将失败,并可能会终止您的应用。

它还解释了如何使用NSFileManager获取Documents目录的位置,基本上是这样的:

NSURL *documentsDirectoryURL = [[[NSFileManager defaultManager]
                                 URLsForDirectory:NSDocumentDirectory
                                 inDomains:NSUserDomainMask]
                                lastObject];