我收到“source path is nil”错误,但是应该位于源路径的plist是在bundle资源中。
代码:
{NSError *error;
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = paths[0];
NSString *path = [documentsDirectory stringByAppendingPathComponent:@"gHaiku413.plist"];
NSFileManager *fileManager = [NSFileManager defaultManager];
if (![fileManager fileExistsAtPath: path]) {
NSString *bundle = [[NSBundle mainBundle] pathForResource:@"gHaiku413" ofType:@"plist"];
NSLog(@"%@",bundle);
[fileManager copyItemAtPath:bundle toPath: path error:&error];
}
当我进入Build Phases并查看Copy Bundle Resources时,gHaiku413.plist肯定存在,但我得到的结果是:
//This is the output of NSLog(@"%@",bundle):
2013-09-18 16:49:22.728 GHaiku[39389:a0b] (null)
2013-09-18 16:49:22.733 GHaiku[39389:a0b] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[NSFileManager copyItemAtPath:toPath:error:]: source path is nil'
我错过了什么?
答案 0 :(得分:0)
不确定这只是您问题中的拼写错误或实际问题,但[[NSBundle mainBundle] pathForResource:@"gHaiku413" ofType:@"plist"];
查找gHaiku413.plist
并且您说文件gHaiku.plist
肯定存在。这些是不同的文件名。
更新:经过评论讨论后,原来是:
xcuserdata
个目录:MyProject.xcodeproj/xcuserdata
和MyProject.xcodeproj/project.xcworkspace/xcuserdata
~/Library/Developer/Xcode/DerivedData
目录