既然還有一天的篇幅,那就回頭來介紹一下如何建立 MacOS 與 IOS 的開發環境吧!
在之前的文章中,我們已經成功地在 Windows 上建立了桌面應用,並在 Android 系統上運行了我們的 App。今天,我們將補上最後一塊拼圖,踏入 Apple 的生態系,一同來看看如何在 MacOS 和 iOS 上設定我們的開發環境。
我們的核心理念不變:Tauri 的強大之處就在於,你絕大部分的 Rust 後端邏輯和前端介面程式碼是完全可以共用的。今天我們要做的是「準備好執行它們的環境」。
開始之前,有一個無法繞過的前提:要進行 Apple 平台的開發,你必須擁有一台 Mac 電腦。這是 Apple 的生態限制,無論是 Xcode 還是 iOS 模擬器,都只能在 MacOS 上運行。
相較於 Windows,在 MacOS 上設定桌面應用的開發環境甚至更為單純一些。許多開發者認為 Unix-like 系統(如 MacOS、Linux)對開發者更為友好,這是有一定道理的。
在 Day 04 其實已經有提過該怎麼做了,除了基本的 Rust 與 Node.js,還需要下載 Xcode。
iOS 的環境設定是建立在 MacOS 之上的,需要額外增加一些針對行動裝置的工具。
安裝完整的 Xcode:這次不只是 Command Line Tools,你需要從 Mac App Store 安裝完整的 Xcode。Xcode 提供了 iOS SDK、iOS 模擬器 (Simulator) 以及所有編譯和簽署 App 所需的工具。安裝完成後,務必至少打開一次 Xcode,讓它完成所有元件的安裝。
新增 Rust Target:為了讓 Rust 能夠編譯出能在 iOS 裝置與模擬器上運行的程式碼,我們需要為 rustup
新增對應的編譯目標 (target)。
rustup target add aarch64-apple-ios aarch64-apple-ios-sim
aarch64-apple-ios
:用於編譯給實體 ARM 架構的 iOS 裝置(如 iPhone 15)的程式。aarch64-apple-ios-sim
:用於編譯給 ARM 架構的 Mac 上的 iOS 模擬器。安裝 Homebrew
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安裝 Cocoapods
brew install cocoapods
如同之前在 Day 06 介紹的 Android 環境,IOS 專案也需要初始化。
npm run tauri ios init
當一切就緒,你就可以在終端機中運行 npm tauri ios dev
。第一次運行時,Tauri 會引導你進行一些專案的初始化設定。接著,它會列出你電腦中所有可用的 iOS 模擬器讓你選擇,選擇後,Tauri 就會自動編譯專案、啟動模擬器並在其中安裝運行你的 App。
有超多模擬器可以選擇:
照理說上面那些步驟執行完就可以開始開發了 (官網上是這樣寫的啦),但我自己實際上開發時,有遇到一個問題。
下完 npm tauri ios dev
指令後,可以選擇模擬器,並且也有成功啟動,但就沒有然後了。照理說,這時候應該要在這個模擬器內出現 Tauri APP 並自動啟動才對,但 termial 完全沒有顯示任何錯誤提示。
後來在同事的協助下,才發現原來要在 Xcode 去尋找更完整的錯誤訊息。
在 Xcode 會看到 npm command not found
的錯誤訊息,這個 issue 有類似問題的討論 (只是他是用 cargo tauri ios dev
,所以是 cargo command not found
)。
解決辦法在下面的留言有提到,需要去調整 Xcode 內的 Build Phases,在 npm 指令前多加上一行指令:
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
變成這樣:
之後再次執行 npm run tauri ios dev
就可以順利看到開發中的 IOS APP 了~
今天,我們成功地為 Tauri 專案配置了 Apple 的開發環境。你會發現,一旦環境設定完成,Tauri 的跨平台體驗是多麼流暢。明天,我們將迎來本系列文章的最終章,分享一些心得與未來的學習方向。我們明天見!