如何从命令行安装 iOS 模拟器
How to install iOS simulators from command line
运行 在 CI 上针对 iOS simulators/SDKs 的不同版本进行测试是常见的情况。但是,Xcode 默认只安装最新的 iOS 模拟器。
所以我需要在 CI 环境中从命令行安装其他缺少的 iOS 模拟器。但是我找不到从命令行安装这些模拟器的方法。
仅供参考
所有模拟器都装有 Xcode 应用程序。您可以安装特定的 Xcode 版本,而不是安装模拟器。
Xcode7.0 有 iOS9 个模拟器
Xcode6.4 有 iOS8.x 个模拟器
在你的 CI 测试中,如果你想针对特定的模拟器测试你的应用程序,只需 select xcode 版本,然后再执行 xcodebuild 命令
xcode-select -switch <path to your xcode app>
这会将您的默认 xcode 设置为 运行 xcodebuild
然后 运行 xcode 使用您各自的模拟器构建。
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
代替 SIMULATOR_OR_IOS_SDK
给出你的模拟器值。
你可以通过运行ning
找到模拟器值
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
这样您就可以在任何特定的 device/simulator/os.
上构建您的项目
希望这对您有所帮助:)
对于 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
我不知道这些网址是从哪里来的,但我发现了一些线索
可以用xcode-install,用下面的命令
gem install xcode-install
xcversion simulators --install='iOS 9.3'
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 退出;失败时,大多数以非零数字退出。
就个人而言,我有一个关于如何从终端使用模拟器的article。
运行 在 CI 上针对 iOS simulators/SDKs 的不同版本进行测试是常见的情况。但是,Xcode 默认只安装最新的 iOS 模拟器。
所以我需要在 CI 环境中从命令行安装其他缺少的 iOS 模拟器。但是我找不到从命令行安装这些模拟器的方法。
仅供参考
所有模拟器都装有 Xcode 应用程序。您可以安装特定的 Xcode 版本,而不是安装模拟器。 Xcode7.0 有 iOS9 个模拟器 Xcode6.4 有 iOS8.x 个模拟器
在你的 CI 测试中,如果你想针对特定的模拟器测试你的应用程序,只需 select xcode 版本,然后再执行 xcodebuild 命令
xcode-select -switch <path to your xcode app>
这会将您的默认 xcode 设置为 运行 xcodebuild 然后 运行 xcode 使用您各自的模拟器构建。
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
代替 SIMULATOR_OR_IOS_SDK
给出你的模拟器值。
你可以通过运行ning
找到模拟器值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
这样您就可以在任何特定的 device/simulator/os.
上构建您的项目希望这对您有所帮助:)
对于 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
我不知道这些网址是从哪里来的,但我发现了一些线索
可以用xcode-install,用下面的命令
gem install xcode-install
xcversion simulators --install='iOS 9.3'
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 退出;失败时,大多数以非零数字退出。
就个人而言,我有一个关于如何从终端使用模拟器的article。