gpt4 book ai didi

ios - Xcode 10 : Load the same . 项目目标和单元测试目标中的xml文件

转载 作者:行者123 更新时间:2023-11-28 14:03:45 25 4
gpt4 key购买 nike

我尝试在项目目标和单元测试目标中加载相同的 .xml 文件。

好像是类似这个问题的问题:Xcode. Image resources added to a test target are not copied into the tests bundle

在项目目标中,这段代码片段运行良好。我只需将“xmlString.xml”文件添加到“复制文件”(参见图 1)。

func parseFile() {
let stringPath = Bundle.main.path(forResource: "xmlString", ofType: "xml")
let url = NSURL(fileURLWithPath: stringPath!)
...
}

Image1

如果我运行在单元测试目标中截取的代码,我会收到错误消息,因为找不到 .xml 文件。我尝试将 .xml 文件添加到“Copy Bundle Resources”,但没有成功(见图 2)。

image 2

让它工作的唯一方法是使用绝对路径

func parseFile() {
let stringPath: String? = "/Users/.../Documents/Git/.../.../.../.../xmlString.xml"
let url = NSURL(fileURLWithPath: stringPath!)
...
}

有没有办法使用 Bundle.main.path(forResource: "xmlString", ofType: "xml") 函数代替绝对路径?

提前致谢!

最佳答案

您可以像这样为您的项目获取包:

let projectBundle = Bundle(for: AnyClassInMyProject.self)

AnyClassInMyProject 替换为项目中实际类的名称。

然后您可以像这样获取 .xml 文件的路径:

let stringPath = projectBundle.path(forResource: "xmlString", ofType: "xml")

关于ios - Xcode 10 : Load the same . 项目目标和单元测试目标中的xml文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53239259/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com