原文地址: Xcode14 下載 watchOS Simulator 失敗
Xcode14 為了縮減體積, 將部分組件并未內置在安裝包中. 當工程添加了 Watch App 支持, 開始編譯時 Xcode 會自動下載 Apple Watch 的模擬器, 否則無法繼續編譯. 但是使用 Xcode內置的下載又經常下載失敗, 報錯是網絡超時.
此時可以移除 Watch 相關的 Target 來臨時解決問題, 但是最終還是需要下載模擬器, 再次反復經歷失敗-下載-失敗.
Xcode 內置的下載很容易失敗, 身邊統計學基本都需要下載 4/5 次才能成功(下載速度快, 但是下載到一半就莫名其妙超時了), 而且下載不支持斷點續傳, 每次重新下載, 導致效率十分低下.
我們可以直接在蘋果開發者網站下載對應的模擬器, 然后執行如下
sudo xcode-select -s /Applications/Xcode.app/
xcodebuild -runFirstLaunch
// 路徑自行修改下
xcrun simctl runtime add "~/Downloads/watchOS_9.1_Simulator_Runtime.dmg"
simctl
會校驗 dmg 文件, 并將模擬器放到合適的位置, 執行完成之后 Xcode 設置頁會成這樣
GncArC9JT5QZbuB.jpg
解決辦法參考蘋果鏈接 Install and manage Simulator runtimes from the command line
蘋果開發網站找不到自己想要下載的模擬器怎么辦?
蘋果開發者網站經常不一定有我們想要下載的包, 難道還是回去死磕 Xcode 自帶的下載嗎? 我們可以使用命令行獲取下載地址, 然后自行下載
- 先關掉 Xcode (cmd + Q)
- 命令行啟動 XCode (使用 Mac 自帶的 Terminal 或者 iterm2 都可以), 命令如下
/Applications/Xcode.app/Contents/MacOS/Xcode
- 在 Xcode 中下載該模擬器(Settings->Platform 頁面下自行選擇)
- 在下載頁面取消下載(取消下載會觸發失敗日志)
- 在命令行失敗日志中獲取下載地址, 類似這樣
2023-12-25 18:23:35.903 Xcode[52215:1841435] DVTDownloadable: Download Cancelled. Downloadable: https://devimages-cdn.apple.com/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK15_0-15.0.1.1633542405.dmg.
- 使用瀏覽器下載這個
https://devimages-cdn.apple.com/downloads/xcode/simulators/com.apple.pkg.iPhoneSimulatorSDK15_0-15.0.1.1633542405.dmg.
鏈接就好(下載別的模擬器鏈接不一樣) - 文件移到
~/Library/Caches/com.apple.dt.Xcode/Downloads/
目錄中, 像下面這樣, 注意自己改下文件名mv com.apple.pkg.iPhoneSimulatorSDK15_0-15.0.1.1633542405.dmg ~/Library/Caches/com.apple.dt.Xcode/Downloads/
- 回到 Xcode, 重新下載這個模擬器, 就會跳過下載直接安裝了