我正在使用xcode和objc创建一个简单的应用程序,我需要从文件加载NSDictionary,但是我无法使用NSBundle获取文件的路径:

NSString *l = [[NSBundle mainBundle] pathForResource:@"LoginStatuses" ofType:@"plist"];
NSLog(@"%@", l);


当我运行此代码时,我得到以下信息:

2010-10-16 10:42:42.42 Sample [5226:a0f](空)

而且我不知道为什么。

我创建了一个名为“资源”的组,并在其中添加了LogingStatuses.plist:

最佳答案

因此,在获得源代码之后,这是此问题的解决方案:

我并没有真正注意所发布的屏幕截图,但是目标是“命令行工具”类型的……并且由于这些没有捆绑包,因此[NSBundle mainBundle]当然会返回nil。 Xcode不会抱怨它无法执行“ Copy Bundle Resources”步骤,而只是默默地跳过它,这是非常令人误解的。

解决方案只是添加一个新的“ Application”类型的目标,以便生成基于捆绑的应用程序。然后,选中此新目标的所有源和资源的“目标成员身份”复选框。然后可以正确解析plist路径。

关于objective-c - NSBundle pathForResource为NULL,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55998543/

10-11 20:44