ios - Objective C 文档目录在设备上不断变化

标签 ios xcode directory documents

我从一开始就在为 iOS 开发,但遇到了一些麻烦。我开始制作一个需要创建文件并将它们保存到文档文件夹和应用程序支持的应用程序,但是使用

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentsDirectory, NSUserDomainMask, YES);
NSString *filePath = paths[0];

不起作用。每次启动应用程序时,它都会不断显示不同的文件路径。

我在谷歌上搜索过这个问题,到目前为止每个人似乎都只是说他们在模拟器上遇到了这个问题。然而,这不仅是模拟器的问题,每次启动应用程序时都会在设备上发生,无论您是否从 Xcode 运行它。 其他搜索结果只是告诉我做这件事的旧方法和/或来自太多年前。

有谁知道当前写入 Documents 和 Application Support 文件夹的方法是什么? 这是Xcode 6.1编译的问题,使用iOS SDK8.1,同时运行在iOS7.1和iOS8.1上

任何帮助将不胜感激

最佳答案

如果您将路径存储在持久性存储中并打算在将来的某个日期使用该路径,则您应该只存储与应用程序的文档文件夹相关的路径,然后每当您需要访问该资源时,获取文档运行时的文件夹路径并附加资源的相对路径。

顺便说一句,当我通过 Xcode 运行我的应用程序时,我只会看到这种不断变化的沙箱路径行为。如果我直接从我的设备运行应用程序,路径不会改变。无论如何,我总是倾向于使用相对路径而不是固定路径。我永远不会假设沙箱路径不能改变(例如,如果应用程序被备份并稍后恢复,我不会假设路径不变)。

关于ios - Objective C 文档目录在设备上不断变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26807535/

相关文章:

ios - SwiftUI - 如何在纵向模式下删除使用 SidebarListStyle 样式的 List 后面的白色背景

Swift 3 - 将 map 类型从 View Controller 更改为另一个

Java:文件[]到JTable

ios - 在展开可选值 WKWebView 获取参数时意外发现 nil

ios - View 中的手势识别器并使用 View Controller 作为目标,我的设计是否错误?

iphone - 如何同时检测主视图 UILongPressGestureRecognizer 和 subview UIPanGestureRecognizer

git - 如何使用控制台删除 GitLab 中的文件夹

android - 在 Android 中卸载我的应用程序时如何从 SDCard 中删除文件夹?

iOS如何判断应用是前台运行还是后台运行?

ios - 使用 iOS 7 滑动导航时导航栏故障