objective-c - NSBundle pathForResource 为 NULL

标签 objective-c xcode nsbundle

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

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

当我运行此代码时,我得到:

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

我也不知道为什么。

我创建了一个名为 Resources 的组,并在其中添加了 LogingStatuses.plist: res

最佳答案

所以这是我得到源码后解决这个问题的方法:

我并没有真正注意发布的屏幕截图,但目标是“命令行工具”类型...并且因为它们没有 bundle [ NSBundle mainBundle] 当然返回 nil。 Xcode 并没有提示它无法执行“复制捆绑资源”步骤,而是默默地跳过它,这是相当具有误导性的。

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

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

相关文章:

ios - 无法从动态加载的 NSBundle 中获取 CFBundleIdentifier

ios - SkobblerFrameWork 未获取确切位置

ios - 在 UITableView 中带导航的 UITableView

ios - 如何在 UITableViewCell 中使用字典显示 NSArray 对象

ios - CAShapeLayer 描边看起来已重置

ios - Core Motion 错误 107 是什么意思?

iphone - 警告 : control reaches end of non-void function - iPhone

ios - iOS App Bundle 中的多个本地化 .strings 文件

ios - 如何更改在 iOS 设备主屏幕上我的应用程序图标下方显示的名称?

objective-c - 从其他类调用方法没有任何作用?