【问题标题】:Unable to access a file from code with Xcode - ios无法使用 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。

标签: ios nsbundle


【解决方案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的回复。它处于构建阶段,而不是构建设置。
    猜你喜欢
    • 2021-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-14
    • 1970-01-01
    相关资源
    最近更新 更多