我的问题在标题上面有说明,但我会在这里再写一次
是否可以将不同的plist复制到应用程序包代码中?
这实际上与我之前的问题有点相关;)Create a dictionary property list programmatically
但是因为我可以写出plist(并测试我是否做错了)我想知道我是否可以复制我的书面文件
[testBook writeTofile:@/Users/jack/testbook2.plist" atomically:NO];
到我的应用程序包代码(以便它可以从这里读取
NSString *path = [[NSBundle mainBundle] bundlePath];
NSString *dataPath = [path stringbyAppendingPathcomponent:@"testbook2.plist"];
另一种选择也很好,例如我可以直接从另一条路径而不是mainBundle读取我的plist
答案 0 :(得分:2)
我不确切知道你在做什么,但根据你的应用程序,你可能想要使用Application Support目录:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES);
if ([paths count] > 0) {
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:@"App Name"];
// Create the directory if it doesn't exist, etc.
} else {
NSLog(@"Fail!");
// ...
}
答案 1 :(得分:2)
在物理上,是的,有时候是可能的。
不,不要那样做!!
好的...将内容复制到App Bundle中是不好的,您的应用包不是保存设置或数据的地方。您应该将您的应用包视为只读。你应该这样做有几个原因:
放置此类内容的正确位置是“应用程序支持”文件夹的子文件夹