如何从命令行安装iOS模拟器

问题描述 投票:0回答:5

在 CI 上针对不同版本的 iOS 模拟器/SDK 运行测试是很常见的情况。但是,Xcode 默认仅安装最新的 iOS 模拟器。

所以我需要在 CI 环境中从命令行安装其他缺少的 iOS 模拟器。但我找不到从命令行安装这些模拟器的方法。

ios xcode continuous-integration ios-simulator
5个回答
25
投票

可以使用 xcode-install 来完成,使用以下命令

gem install xcode-install
xcversion simulators --install='iOS 9.3'

5
投票
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 退出;失败时,大多数会以非零数字退出。

就我个人而言,我有一篇关于如何从终端使用模拟器的文章


1
投票

仅供参考

所有模拟器都装有 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

这样您就可以在任何特定设备/模拟器/操作系统上构建您的项目。

希望这有帮助:)



0
投票
  1. 从 Apple 开发者门户下载模拟器
    .dmg
    文件
  2. 使用命令安装模拟器:
    xcrun simctl runtime add <path to DMG file>
© www.soinside.com 2019 - 2024. All rights reserved.