.json 文件不包含在 mainBundle 中?

Posted

技术标签:

【中文标题】.json 文件不包含在 mainBundle 中?【英文标题】:.json file not included in mainBundle? 【发布时间】:2011-02-10 07:50:15 【问题描述】:

我正在创建一个在资源中包含 .json 文件的 iPhone 应用,但无法使用以下命令访问这些文件:

[[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"json"]  

这些文件似乎没有包含在构建的应用程序包中。我必须配置一些东西才能在包中包含 .json 文件吗?

谢谢

【问题讨论】:

将文件类型设置为.txt,然后像json一样解析有什么问题? 没关系,但我想知道为什么.json文件不包含在包中。 你怎么知道它不在捆绑包中?你能发布这个返回的内容吗:NSLog([[NSBundle mainBundle] pathForResource:@"xxx" ofType:@"json"]); 检查一下没有坏处;) [会话开始于 2011-02-10 16:33:13 +0900.] (null) 我还检查了构建包的内部,里面没有.json文件(而其他资源文件有)。 【参考方案1】:

什么都不做,只是检查它是否已添加到目标中(图片右侧的小勾号)。然后检查构建详细信息日志以验证它已被有效复制。

【讨论】:

【参考方案2】:

只要确保在目标中包含 .json 文件即可。您可以通过检查目标中的资源复制阶段来检查它是否已复制到您的主包。如果该文件在此处列出,则它也包含在您的捆绑包中。

【讨论】:

谢谢,.json 文件未包含在此处! 是否可以配置 .json 文件自动添加到资源复制阶段?【参考方案3】:

为 XCode 11 添加更新的屏幕截图,说明如何使用鼠标右键单击“文件检查器”以及如何打开“目标成员资格”(屏幕右下角)。我花了太长时间试图解决这个问题

【讨论】:

以上是关于.json 文件不包含在 mainBundle 中?的主要内容,如果未能解决你的问题,请参考以下文章

`NSBundle.mainBundle().URLForResource` 总是返回 `nil`

无法使用 [[NSBundle mainBundle] pathForResource ofType inDirectory] ​​加载文件

获取 iPhone mainBundle 文件

NSBundle mainBundle infoDictionary 返回 NULL

QLPreviewController加载mainBundle文件不显示问题 Couldn't issue file extension for url:

无法从 mainBundle 播放 MP4 视频文件