3

我在运行 xctool build 时遇到故障。我的命令如下:

xctool clean build run-tests -only 'MyApp KIF Tests' -workspace MyApp.xcworkspace/ -scheme 'Debug'  -destination "platform=iOS Simulator,name=iPhone 6,OS=latest" -sdk iphonesimulator -reporter junit -reporter plain

构建失败并出现以下错误:

Failed to query the list of test cases in the test bundle: Test bundle not found at: /Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-blbvnisblktossbxwcmnxafkngts/Build/Products/Debug-iphonesimulator/MyApp KIF Tests.xctest

MyApp KIF Tests.xctest在错误消息中指定的路径中查找,确实找不到该文件。但是,此文件确实存在于不同的路径下:

/Users/myusername/Library/Developer/Xcode/DerivedData/MyApp-blbvnisblktossbxwcmnxafkngts/Build/Products/Debug-iphoneos/MyApp KIF Tests.xctest

这两条路径之间的唯一区别是,一条在下方Debug-iphonesimulator,另一条在下方Debug-iphoneos

我还注意到,在 target -> Build Settings -> Build Locations -> Per-configuration Build Products Path -> Debug 下,值为$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME),评估结果为build/OktaVerify.build/Debug-iphoneos。所以第一个问题是:为什么$(EFFECTIVE_PLATFORM_NAME)评估为Debug-iphoneos?我需要更改什么配置以使其评估Debug-iphonesimulator以便 xctool 可以找到它?

接下来,我硬编码$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)to的值Debug-iphonesimulator,希望看到它工作。但是,我得到了同样的错误。我的第二个问题是,为什么Debug-iphoneos即使构建产品路径指定了 xctest 文件也会出现在文件夹下Debug-iphonesimulator?指定什么设置Debug-iphoneos

环境是 Xcode 7.2 和 xctool 版本 0.2.8。

4

1 回答 1

1

我通过从 xctool 命令中删除“-sdk iphonesimulator”解决了这个问题。这样,它将根据目标类型自动选择适当的 sdk。

于 2016-07-13T18:46:48.753 回答