在CI上针对不同版本的iOS模拟器/ SDK运行测试是一种常见情况。但是,Xcode默认只安装最新的iOS模拟器。
所以我需要在CI环境中从命令行安装其他缺少的iOS模拟器。但我找不到从命令行安装这些模拟器的方法。
答案 0 :(得分:15)
可以使用xcode-install使用以下命令
完成gem install xcode-install
xcversion simulators --install='iOS 9.3'
答案 1 :(得分:1)
FYI
所有模拟器都包含Xcode应用程序。您可以只安装特定的Xcode版本,而不是安装模拟器。 Xcode7.0有iOS9模拟器 Xcode6.4具有iOS8.x模拟器
在您的CI测试中,如果您想测试特定模拟器的应用程序,请在执行xcodebuild命令之前选择xcode版本
xcode-select -switch <path to your xcode app>
这将设置您的默认xcode以运行xcodebuild 然后使用相应的模拟器运行xcodebuild。
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
代替SIMULATOR_OR_IOS_SDK
给你的模拟器值。
您可以通过运行
找到模拟器值xcodebuild -showsdks
这将显示为
OS X SDKs:
OS X 10.11 -sdk macosx10.11
iOS SDKs:
iOS 9.1 -sdk iphoneos9.1
iOS Simulator SDKs:
Simulator - iOS 9.1 -sdk iphonesimulator9.1
tvOS SDKs:
tvOS 9.0 -sdk appletvos9.0
tvOS Simulator SDKs:
Simulator - tvOS 9.0 -sdk appletvsimulator9.0
watchOS SDKs:
watchOS 2.0 -sdk watchos2.0
watchOS Simulator SDKs:
Simulator - watchOS 2.0 -sdk watchsimulator2.0
这样您就可以在任何特定的设备/模拟器/操作系统上构建项目。
希望这会有所帮助:)
答案 2 :(得分:0)
对于iOS 8.1模拟器: http://devimages.apple.com/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK8_1-8.1.1.1434581536.dmg
对于iOS 8.2模拟器: http://devimages.apple.com/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK8_2-8.2.1.1434581536.dmg
对于iOS 8.3模拟器: http://devimages.apple.com/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK8_3-8.3.1.1434581536.dmg
对于iOS 8.4模拟器: http://devimages.apple.com/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK8_4-8.4.1.1435785476.dmg
我不知道这些网址来自哪里,但我找到了一些线索
答案 3 :(得分:0)
xcrun simctl create <name> <device type> <runtime>
例如:
xcrun simctl create "ry" "iPhone 11 Pro Max" iOS13.3
xcrun simctl
是用于控制iOS模拟器的命令实用程序,就像Android的adb
一样。您也可以运行xcrun simctl help
,其中有许多有用的子命令。成功时,大多数命令以0退出;失败时,大多数退出时的数字都不为零。
答案 4 :(得分:-1)
使用npm安装ios-simulator:
http://arteksoftware.com/easily-launch-the-ios-simulator-from-the-command-line/ 希望它可以帮助你