首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用[mainBundle pathForResource]的同一行代码在一个项目中失败,但在另一个项目中有效

使用[mainBundle pathForResource]的同一行代码在一个项目中失败,但在另一个项目中有效
EN

Stack Overflow用户
提问于 2011-11-22 10:55:55
回答 2查看 194关注 0票数 0

在我的代码中,我想打开一个html文件,所以添加了以下代码行:

NSString* path = [NSBundle mainBundle资源路径:@“奶酪”类型:@“html”];

但它失败了,因为在执行后路径为空。文件cheese.html存在,并已添加到项目的资源中。

我不能,并且仍然不明白为什么它不能工作。我还有其他几个项目可以打开和读取文件,因此作为实验,我将失败的代码行复制到其他项目中,并将cheese.html文件从不起作用的项目中拖放到另一个项目中(从xcode的层次结构项目文件视图中拖放),然后答对了-该行执行,路径在另一个项目中不为空。

所以我完全迷惑了,为什么它在一个项目中有效,而在另一个项目中不起作用?

这两行代码完全相同,当文件被拖放到同一个文件中时,而文件是从xcode本身中拖出的,这证明该文件已添加到项目资源中。那么为什么它仍然会失败呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-11-22 13:21:01

请检查以下内容:

在左侧的管理器中,选择您的项目。然后在下一个导航器中选择您的目标名称。然后选择构建阶段‘标签’。您将看到一个“复制捆绑资源”部分。确保您要查找的资源已在此处列出。如果不是,则添加它。

票数 2
EN

Stack Overflow用户

发布于 2012-11-06 22:47:38

对于任何遇到这个问题的人来说,另一个可能的解决方案是:有时一个文件可能属于一个不是mainBundle的包-在这种情况下,最简单的解决方案是使用[NSBundle bundleForClass:[self class]],使用当前类正在使用的包。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8221398

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档