无法使用 Xcode 从代码访问文件 - ios

Posted

技术标签:

【中文标题】无法使用 Xcode 从代码访问文件 - ios【英文标题】:Unable to access a file from code with Xcode - ios 【发布时间】:2013-09-24 10:12:35 【问题描述】:

ios 开发... 我在代码文件所在的同一目录中有一个名为“Data.js”的 json 数据文件,并且正在尝试使用以下代码访问它...

NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Data" odType:@"js"];

但这会返回 null。

非常感谢您对此的任何帮助。

【问题讨论】:

确保 Xcode 没有错误地将其放入“编译源”中。它应该列在“复制捆绑资源”下。 可能是你写这个的时候打错了,但是你输入了'odType:'而不是ofType。我认为这在您的代码中是正确的。 是的,你说得对,就是错字。 @borrrden:我尝试寻找该选项,但找不到该选项。顺便说一句,我使用的是 Xcode-5。 【参考方案1】:

上面写的答案是对的。默认情况下,Data.js file 将添加到compilation phase。您可以将其拖到Copy Bundle Resources phase。仅供参考,我正在添加参考屏幕截图。转到Build phases 下的目标设置页面,您可以找到这些部分。将选中的文件拖到Copy Bundle Resources phase

【讨论】:

非常感谢阿尼尔。现在解决了。更进一步,我在从该文件中读取数据时遇到问题。我将在一个单独的线程中要求。感谢所有的受访者!!【参考方案2】:

有没有在构建阶段检查是否添加了Data.js来复制bundle资源?

【讨论】:

【参考方案3】:

当您添加 JS 文件时,Xcode 会将它们添加到编译阶段(因为它们是代码文件),而不是 Copy Bundle Resources 阶段。您需要转到您的项目设置并将其移至正确的阶段。

【讨论】:

在哪里可以找到这个选项?我尝试查看项目的构建设置但找不到。我对此很陌生,所以无法弄清楚。请告诉我步骤。 看看上面Anil的回复。它处于构建阶段,而不是构建设置。

以上是关于无法使用 Xcode 从代码访问文件 - ios的主要内容,如果未能解决你的问题,请参考以下文章

无法从 swift 控制器代码访问 Objective C 类

Xcode 7.3,共享扩展,似乎无法将数据从扩展传递到容器应用程序

iOS从Files App中无法打开特定格式文件的解决(提示没有访问权限)

iOS从Files App中无法打开特定格式文件的解决(提示没有访问权限)

无法访问 MoPub iOS SDK 中的头文件

Xcode / IOS 代码可见性