Bundle.main.path(forResource ...在查找xml文件时总是返回nil

时间:2018-08-16 10:38:57

标签: swift xml bundle filepath

我正在尝试从捆绑软件中读取文件。我知道之前已经有人问过这个问题,但是我已经阅读了其他SO解决方案,但似乎我个人没有。

我有一个XML文件。我可以在项目导航器中看到它:

enter image description here

,我还可以通过转到项目/构建阶段/复制捆绑资源来检查它是否包含在捆绑中

enter image description here

我尝试使用没有运气的文件管理器,使用inDirectory而不使用inDirectory来获取其路径:

 let filePath = Bundle.main.path(forResource: "config", ofType: "xml", inDirectory:"Resources") 

接下来的尝试让我有些茫然。

编辑:

我可以使用它,但这似乎比我需要的代码更多。

let arrFiles = getAllFiles()
        let fileName = strFileName + "." + strFileExtension

        for thisObj in arrFiles {
            if thisObj == "config.xml" {

                let filePath = Bundle.main.path(forResource: thisObj, ofType: nil)
                print(filePath)
            }

        }

1 个答案:

答案 0 :(得分:3)

尝试以下代码:

if let filePath = Bundle.main.url(forResource: "config.xml", withExtension: nil, subdirectory: "/Resources") {

   /// Do something with the filePath

}