iT邦幫忙

2025 iThome 鐵人賽

DAY 29
0
Rust

用 Tauri 打造你的應用程式系列 第 29

[Day 29] 番外篇:MacOS 與 IOS 的開發

  • 分享至 

  • xImage
  •  

既然還有一天的篇幅,那就回頭來介紹一下如何建立 MacOS 與 IOS 的開發環境吧!

在之前的文章中,我們已經成功地在 Windows 上建立了桌面應用,並在 Android 系統上運行了我們的 App。今天,我們將補上最後一塊拼圖,踏入 Apple 的生態系,一同來看看如何在 MacOS 和 iOS 上設定我們的開發環境。

我們的核心理念不變:Tauri 的強大之處就在於,你絕大部分的 Rust 後端邏輯和前端介面程式碼是完全可以共用的。今天我們要做的是「準備好執行它們的環境」。

開始之前,有一個無法繞過的前提:要進行 Apple 平台的開發,你必須擁有一台 Mac 電腦。這是 Apple 的生態限制,無論是 Xcode 還是 iOS 模擬器,都只能在 MacOS 上運行。

MacOS 開發環境

相較於 Windows,在 MacOS 上設定桌面應用的開發環境甚至更為單純一些。許多開發者認為 Unix-like 系統(如 MacOS、Linux)對開發者更為友好,這是有一定道理的。

Day 04 其實已經有提過該怎麼做了,除了基本的 Rust 與 Node.js,還需要下載 Xcode。

iOS 開發環境

iOS 的環境設定是建立在 MacOS 之上的,需要額外增加一些針對行動裝置的工具。

  1. 安裝完整的 Xcode:這次不只是 Command Line Tools,你需要從 Mac App Store 安裝完整的 Xcode。Xcode 提供了 iOS SDK、iOS 模擬器 (Simulator) 以及所有編譯和簽署 App 所需的工具。安裝完成後,務必至少打開一次 Xcode,讓它完成所有元件的安裝。

  2. 新增 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 模擬器。
  3. 安裝 Homebrew

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  4. 安裝 Cocoapods

    brew install cocoapods
    

初始化 IOS 專案

如同之前在 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 的跨平台體驗是多麼流暢。明天,我們將迎來本系列文章的最終章,分享一些心得與未來的學習方向。我們明天見!


上一篇
[Day 28] 上架 (二):建立應用程式
下一篇
[Day 30] 回顧與心得
系列文
用 Tauri 打造你的應用程式30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言