无法从项目子文件夹中读取文件
Posted
技术标签:
【中文标题】无法从项目子文件夹中读取文件【英文标题】:Cannot read file from project subfolder 【发布时间】:2018-06-11 12:53:33 【问题描述】:我需要从项目子文件夹中读取 json
我的项目文件夹结构如下:
我的代码是:
if let url = Bundle.main.url(forResource: "default", withExtension: "json", subdirectory: "Localization")
do
let data = try Data(contentsOf: url)
let decoder = JSONDecoder()
let jsonData = try decoder.decode(Class.self, from: data)
catch
print("error:\(error)")
我在 *** 和其他页面上看到了另一个解决方案,但所有这些都看起来像我的,但在我的情况下,url
始终是nil
在这种情况下我的错误是什么?
【问题讨论】:
确保您已添加正确的 Target ,如果需要,请在拖放时复制项目复选框 true 我从 XCode 菜单中创建了组和文件 您是否尝试删除该子目录部分? 确保您的文件存在于 Copy Bundle 资源中 请注意,Xcode 中的黄色文件夹是虚拟组,它们都代表文件夹Resources
。捆绑包中的真实(子)文件夹是蓝色的。请看***.com/questions/50004553/…
【参考方案1】:
确保您的default.json
文件存在于您的应用目标的Build Phases
中的Copy Bundle Resources
中。
然后你可以使用它访问它,不需要subdir
。
if let path = Bundle.main.path(forResource: "default", ofType: "json")
do
let data = try Data(contentsOf: URL(fileURLWithPath: path))
catch
print(error.localizedDescription)
【讨论】:
以上是关于无法从项目子文件夹中读取文件的主要内容,如果未能解决你的问题,请参考以下文章