所以我有以下方法来获取路径:
- (NSString *)filePath {
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"%@_json", self.identifier]];
return filePath;
}
此路径将用于密钥链访问kSecAttrAccount和kSecAttrGeneric。所以我期待它有相同的道路。但事实证明,升级我的应用程序后,此路径会发生变化。
之前:
/var/mobile/Applications/CEE344F7-4FE1-4455-BD6D-A4D6EAA4F5FE/Documents
在病房之后是:
/var/mobile/Applications/A6429F46-972C-4BC1-A71B-2786312663E8/Documents/
是什么导致这种情况发生?
答案 0 :(得分:2)
这意味着iOS会在新文件夹中安装应用程序的更新版本。完成后,它会将用户数据移动到新文件夹并删除旧文件夹。这可能已经完成,因此安装过程中的错误不会破坏现有应用程序。