我正在使用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:

发布于 2010-10-17 02:31:56
因此,在我获得源代码后,以下是这个问题的解决方案:
我并没有真正注意到张贴的屏幕截图,但目标是“命令行工具”类型……因为它们没有包,所以[NSBundle mainBundle]当然会返回nil。Xcode没有抱怨它不能执行"Copy Bundle Resources“步骤,它只是默默地跳过它,这是相当误导的。
解决方案是简单地添加一个" application“类型的新目标,这样就会生成一个基于捆绑包的应用程序。然后选中此新目标的所有源和资源的target Membership复选框。然后正确解析plist路径。
发布于 2012-09-04 10:43:08
我试图让我的iPhone应用程序使用默认的sqlite数据库,但darn应用程序找不到它。结果是我必须确保.sqlite文件在捆绑包资源中。
drop your .sqlite file into本节“的部分。
现在,您的应用程序将找到这个默认的sqlite数据库。
发布于 2010-10-16 23:05:29
文件是否真的包含在目标中(因此是否会被复制到包中)?有两种方法可以找出/设置它:
第一种方法:在文件上单击鼠标右键(或按住Cmd键),选择“获取信息”。然后单击"Targets“选项卡,并确保检查文件中是否有所需的目标。
第二种方法:在项目浏览器中的文件浏览器头上单击鼠标右键(或Cmd-clock) (可能会显示"Groups & Files")。然后选择“目标成员资格”。现在,可以成为目标成员的每个文件(如.m文件或资源)旁边都有复选框。同样,请确保选中您的文件旁边的复选框。
https://stackoverflow.com/questions/3949368
复制相似问题