gpt4 book ai didi

iOS 代码 : Fails on other machines, 但不是我的 [NSFileManager copyItemAtPath:toPath:error:]: source path is nil'

转载 作者:行者123 更新时间:2023-11-29 13:26:52 28 4
gpt4 key购买 nike

我正在与一个团队一起开发,使用的是所有图像完全相同的 mac。使用我编写代码的机器,我可以以编程方式创建然后写入 pList 文件。但是当我使用我的家用机器(相同的图像)或当我的队友在他们的机器上测试代码时,我们会崩溃并出现 [NSFileManager copyItemAtPath:toPath:error:]: source path is nil' 错误。在调试中,文件路径是有效的。但是, bundle 位于:

 NSString *bundle = [[NSBundle mainBundle]pathForResource:@"Family" ofType:@"plist"];
[pListfileMgr copyItemAtPath:bundle toPath: pListpath error:&error];

为零。我们正在使用 git 来版本控制我们的代码。我们一直将 .DS_Store 和/userdata/文件保留在 repo 之外,除非我错过了什么。到底是怎么回事?这是代码,几乎逐字复制自 here :

NSError *error;
NSArray *pListpaths =NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask, YES);

NSString *pListdocumentsDirectory = [pListpaths objectAtIndex:0];

NSString *pListpath = [pListdocumentsDirectory stringByAppendingPathComponent:@"Family.plist"];
NSFileManager *pListfileMgr = [NSFileManager defaultManager];

//Create a plist if it doesn't alread exist
if (![pListfileMgr fileExistsAtPath: pListpath])
{
NSString *bundle = [[NSBundle mainBundle]pathForResource:@"Family" ofType:@"plist"];
[pListfileMgr copyItemAtPath:bundle toPath: pListpath error:&error];
}

NSMutableDictionary *thePList = [[NSMutableDictionary alloc] initWithContentsOfFile: pListpath];

[thePList setObject:[NSString stringWithFormat:@"%@", numberOfPeopleInFamilyOfOrigin] forKey:@"famSize"];
[thePList writeToFile: pListpath atomically: YES];

最佳答案

我认为您误解了上面列出的代码的意图。

以下 block 正在检查位于路径 pListpath 的文件是否存在。如果 pListpath 中不存在文件,它会从 您的包中复制一个文件到 pListpath

//Create a plist if it doesn't alread exist
if (![pListfileMgr fileExistsAtPath: pListpath])
{
NSString *bundle = [[NSBundle mainBundle]pathForResource:@"Family" ofType:@"plist"];
[pListfileMgr copyItemAtPath:bundle toPath: pListpath error:&error];
}

也就是说,您必须在您的包中发送一个名为 Family.plist 的文件,目的是如果 a plist 在路径 pListpath 中尚不存在。

关于iOS 代码 : Fails on other machines, 但不是我的 [NSFileManager copyItemAtPath:toPath:error:]: source path is nil',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12907082/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com