我的应用程序更新有问题。在版本1.0中,我下载了大量文件,这些文件的路径作为对象的属性保存在coredata中。
例如:/var/mobile/Applications/43543f-435435-etc.../Library/folder/image.png
尝试使用testf测试更新或使用iTunes安装1.1版后,路径
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES);
NSString *applicationDirectory = [paths objectAtIndex:0];
现在返回不同的内容,例如
/var/mobile/Application/324dfd-325dfd..etc/
我的应用程序无法显示所有图像和数据,因为我拉下了coredata对象上保存的路径。 但最令我惊讶的是,当我直接从xcode安装1.1版时,它运行良好,没有任何改变。我该怎么办?我应该创建一个升级脚本来更改coredata中每个文件的库路径,还是有更好的方法?
谢谢
答案 0 :(得分:0)
我假设您将完整路径存储到Core Data对象中的文件中。您应该使用Library
从NSSearchPathForDirectoriesInDomains()
文件夹中存储相对路径。
这意味着您必须使用Library文件夹以及从Core Data检索的相对元素在运行时创建完整路径。
这将在应用升级后继续存在。