[Xcode] 一次編譯啟動多個模擬器

Toby Hsu
Toby Hsu
Sep 7, 2018 · 3 min read

隨著🍎裝置尺寸的多樣化以及每次 OS 改版的變動,每次做好 UI 都必須在各個尺寸上跑過,確保元件跟樣式都如預期的呈現,或者是像存取使用者權限時不同 OS 版本可能會出現不一樣的提示。

剛好在網路上看到這篇,所以我就如法炮製實驗了一下😁

從結論上來說,照著這篇文章做是會成功的,只要你記得改 MultiSimConfig.txtlaunch_multiple_simulators.sh 中的 project_name 和 app_name 🤣🤣🤣

不過如果完美的話我就不用寫這篇啦,事實上如果你按著做完之後應該會發現幾項問題。

沒有跑出多個裝置

基本上在終端機執行 instruments -s devices 之後會看到下面的圖片所示,But 就是這個 But,雖然列表出現有各種 OS 版本的模擬器,但還是記得從 Xcode Preferences -> Components 裡確認是不是真的有安裝你需要的 OS 版本模擬器。
另外就是該篇作者當初寫的 MultiSimConfig.txt 中的裝置並沒有像現在的這麼一大串,我不確定是不是因為我用 Xcode Beta 所造成的,所以記得要 完整複製 貼到 txt 中才能找到對應的模擬器喔!

目前有的模擬器列表

Run 的時候所有的模擬器都會被關閉再重新打開

主因就是 launch_multiple_simulators.sh 裡這一段
xcrun simctl shutdown all
這句的意思是執行這段的時候所有的模擬器都會關閉 。

如果你只開兩三個模擬器可能還好,但如果你要支援的是 iOS 9 ~ 12 + iPhone 5 ~ iPad Pro 的組合時⋯⋯ 光重開就飽了 😱

所以呢,我就依照原作的 Shell Script 改寫了一下!
如此一來就不用一直重開模擬器囉 🤣

多個模擬器跑出來但是閃退了

我是因為你的 Project Deployment Target 沒有設定好⋯⋯🤔

需要的話可以在 GitHub 下載完整的 Xcode 專案,也有 Demo 影片可以參考

Toby Hsu

Written by

Toby Hsu

tvOS/iOS engineer at CATCHPLAY. Also interested in user research. https://www.linkedin.com/in/tobyhsu/

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade