xctool构建失败:在`Debug-iphonesimulator`下找不到测试包

时间:2015-12-16 16:42:43

标签: ios xcode xcodebuild xctool

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

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之下。

我也注意到了目标 - >构建设置 - >构建位置 - >每配置构建产品路径 - >调试,值为$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME),正在评估build/OktaVerify.build/Debug-iphoneos。所以第一个问题是:为什么$(EFFECTIVE_PLATFORM_NAME)评估为Debug-iphoneos?我需要更改哪些配置以使其评估为Debug-iphonesimulator,以便xctool可以找到它?

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

环境是Xcode 7.2和xctool版本0.2.8。

1 个答案:

答案 0 :(得分:1)

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