2015-12-28 62 views
4

對CI上不同版本的iOS模擬器/ SDK運行測試是常見的情況。但是,默認情況下,Xcode只安裝最新的iOS模擬器。如何從命令行安裝iOS模擬器

所以我需要在CI環境中從命令行安裝其他缺少iOS模擬器。但是我找不到從命令行安裝這些模擬器的方法。

+1

當你安裝Xcode它已經安裝了iOS模擬器。你想讓命令從命令行運行嗎? –

+0

你想創建模擬器設備嗎?還是安裝遺留模擬器運行時? –

+0

安裝模擬器運行時 – Quanlong

回答

8

它可與xcode-install來完成,用下面的命令

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

如果你需要在CI中執行此操作並處理密碼提示,請嘗試: echo「」| xcversion模擬器--install ='iOS 10.3.1' – jwswart

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 

這樣你就可以在任何特定的設備/模擬器/ OS構建您的項目。

希望這有助於:)

+0

很難從命令行安裝Xcode,而Xcode.dmg非常大。 – Quanlong

+0

@Quanlong:在CI環境中,Xcode是必須手動安裝的軟件。您的CI構建調用應該使用xcode命令行工具(xcodebuild)來構建您的應用程序。 – iPrabu

+0

是的,但我們在CI上只安裝了一個Xcode版本。而一些舊版本的Xcode不能安裝在較新的OS X上。 – Quanlong

0