我尝试使用travis-ci.org实现持续集成。
这是我目前的.travis.yml配置:
language: swift
osx_image: xcode8.3.3
xcode_project: AutomatediOSBuild.xcodeproj #3
xcode_scheme: Debug
#xcode_sdk: iphonesimulator10.0
script:
- xcodebuild -scheme AutomatediOSBuild -project AutomatediOSBuild.xcodeproj -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6s,OS=10.3.1' build test
但我在travis上收到以下错误:
xcodebuild: error: Unable to find a destination matching the provided destination specifier:
{ platform:iOS Simulator, OS:10.3.1, name:iPhone 6s }
The requested device could not be found because no available devices matched the request.
The command "xcodebuild -scheme myProject -project myProject.xcodeproj -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6s,OS=10.3.1' build test" exited with 70.
如果我在命令行中运行:
xcodebuild -scheme myProject -project myProject.xcodeproj -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6s,OS=10.3.1' build test
我没有错误。你们中的任何人都知道我为什么会收到这个错误?或者如果有任何解决此错误的工作?
我非常感谢你的帮助。
答案 0 :(得分:0)
我在用Xcode 9.4创建的目标上也遇到了类似的问题,并试图在travis上用Xcode 9.3运行。构建设置中的tvOS部署目标是11.4。我将其更改回11.1,然后travis开始工作:
--- a/GoogleUtilities/Example/GoogleUtilities.xcodeproj/project.pbxproj
+++ b/GoogleUtilities/Example/GoogleUtilities.xcodeproj/project.pbxproj
@@ -974,7 +974,7 @@
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = appletvos;
TARGETED_DEVICE_FAMILY = 3;
- TVOS_DEPLOYMENT_TARGET = 11.4;
+ TVOS_DEPLOYMENT_TARGET = 11.1;
};
答案 1 :(得分:0)
用于xcodebuild的Travis环境可能与您的环境不同,即您在本地具有与pool.getConnection()
选项相对应的正确模拟器,但是Travis-ci容器没有。
工作日志应该为您提供更多信息,例如:
-destination
Travis在documentation上列出了所选The requested device could not be found because no available devices matched the request.
585
586 Available destinations for the "stackoverflow" scheme:
587 { platform:iOS Simulator, id:5B...65, OS:13.2.2, name:iPad (7th generation) }
588 { platform:iOS Simulator, id:1A...DA, OS:13.2.2, name:iPhone 8 }
的可用模拟器,并且此mokacoding post提供了很好的解释。
我还发现您必须提供确切的操作系统版本,例如在上面的示例中:
osx_image