- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
按照建议,我们使用以下代码来检索用户文档的路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
我们得到以下路径作为结果:/var/mobile/Applications/3E3C1F45-6649-4EA3-93FD-CDB802E346EC/Documents/
在上述路径中,我们保存了所有用户的持久数据。
我们遇到了从应用商店升级应用程序版本的用户的一些问题,不再读取持久数据,可能路径已更改,可能在新版本中使用了新的 GUID。
由于这仅在应用商店更新后发生,因此测试和调试此问题的能力有限。
最佳答案
当用户升级应用程序时,标识符(3E3C1F45-6649-4EA3-93FD-CDB802E346EC)可以改变,但文档和缓存应该从旧目录复制到新目录。
您是否有机会保存持久数据的绝对路径并在加载文件时尝试使用它?您应该只保存文档目录中的文件名和目录名,并在每次加载资源时(或至少在启动时)生成完整路径,方法是附加 NSSearchPathForDirectoriesInDomain 返回的路径
换句话说,不要保存诸如
之类的PATHS/var/mobile/Applications/3E3C1F45-6649-4EA3-93FD-CDB802E346EC/Documents/MyDirectory/MyFile.txt
改为保存:
/MyDirectory/MyFile.txt
并将其附加到 NSSearchPathForDirectoriesInDomain 在运行时返回的任何内容。
关于ios - NSSearchPathForDirectoriesInDomains 和持久数据的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6007494/
Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_PROTECTION_FAILURE at 0x2fc30fec Cra
我是 iPhone objectiveC 开发的新手。当我运行以下方法时出现内存泄漏。 - (NSString *) getDBPath { NSArray *paths = NSSearch
我正在尝试从磁盘保存并稍后加载图像。以下内容适用于模拟器,但当我在设备上测试时,我得到 unexpectedly found nil while unwrapping an Optional valu
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-top
我花了很长时间但没有运气解决以下问题: 我试图访问文档目录。 以下两个代码都可以完美运行。有人能告诉我有什么区别吗 最后一个对象和 objectAtIndex:0 NSArray *searchPat
我刚刚研究了检查文件是否存在的代码: NSString *path; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDi
我使用 URLConnection 从 url 下载文件并将该数据存储到文档目录中的文件中。当我收到响应时,当 didReceiveResponse: 方法被调用时,我创建文件并以这种方式移动到该文件
按照建议,我们使用以下代码来检索用户文档的路径 NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NS
我正在尝试处理目录。不幸的是,当我运行 NSSearchPathForDirectoriesInDomains 时,我得到了一个不可写的目录。我得到的是: /Users/me/Library/Appl
我很快就秃头了,需要帮助! 我正在编写一个需要访问目录的应用程序。我希望得到一种形式的路径/Users/me/Library/Application Support/iPhone Simulator/
我使用下面的代码来获取应用程序支持目录: NSString * supportDir = [NSSearchPathForDirectoriesInDomains(NSApplicationSuppo
我正在 OS X Yosemite 上的 Xcode 6 中开发 Swift/Obj-C franken-app。我正在尝试在运行 iOS 8 的第 5 代 iPod Touch 上运行它。 几天前我
[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject] 我以前知道向对
我正在使用 NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) 在我的应用程序中获取应用程序
我有一个录音机应用程序,其中录制的声音是这样存储的: let dirPath = NSSearchPathForDirectoriesInDomains(.DocumentDirectory,.Use
为什么 NSSearchPathForDirectoriesInDomains 返回一个 NSArray 而不是一个找到路径的 NSString? 最佳答案 根据 NSSearchPathDirect
我想将图像保存到 iPhone 的用户域,因此我编写了以下代码。 let path = NSSearchPathForDirectoriesInDomains(NSSearchPathDirector
NSSearchPathForDirectoriesInDomain 函数仍然是获取 iPhone 文档目录路径的最佳方法吗?我问这个问题是因为我看到的大多数主题都是去年的,而且这似乎仍然是获取 iP
在 iOS 上查找本地可写 Library 目录位置的常用方法是 NSSearchPathForDirectoriesInDomains ,像这样: NSString *thedir = NS
有人能告诉我为什么这段代码会失败吗?调用 initWithString 后 url 为 nil。正在成功填充变量 documentsDirectory。 NSArray *paths = NSSe
我是一名优秀的程序员,十分优秀!