[Xcode] 一次編譯啟動多個模擬器
隨著🍎裝置尺寸的多樣化以及每次 OS 改版的變動,每次做好 UI 都必須在各個尺寸上跑過,確保元件跟樣式都如預期的呈現,或者是像存取使用者權限時不同 OS 版本可能會出現不一樣的提示。
剛好在網路上看到這篇,所以我就如法炮製實驗了一下😁
從結論上來說,照著這篇文章做是會成功的,只要你記得改 MultiSimConfig.txt 跟 launch_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 影片可以參考
