你的 Expo 專案在 Windows 可以寫、可以預覽,但一到 iOS 模擬器或 Xcode 錯誤就卡住。
最快解法是:先用 Windows 加真機學習;課程要求 iOS 模擬器、原生模組或本機排錯時,再按需使用遠端 Mac,不必一開始購買 Mac。

01

誰適合這條 Expo iOS 路線

這篇適合只有 Windows 電腦、想從 Expo 開始學習跨平台應用程式開發的零基礎學生,也適合正在修移動開發課程、需要完成 iOS 示範或作業的人。

如果你已經能用 Expo Go 預覽專案,卻被原生依賴、開發建置或 iOS 錯誤卡住,下面的分流可以幫你判斷下一步,而不是盲目換電腦。

02

Windows 能做到哪些部分

只有 Windows 電腦,可以學 Expo iOS 開發嗎?
可以,但要分清楚「寫程式」、「看到畫面」、「執行 iOS 專用工具」和「處理原生錯誤」不是同一件事。

你可以把它想成寫作業和使用實驗設備:

  • Windows 是寫作業的書桌。你可以編輯 JavaScript 或 TypeScript、安裝 Node.js 與 Expo 工具,建立專案並修改畫面。
  • Expo Go 是通用實驗盒。它能讓你把許多常見功能快速放到真機上查看,但只包含 Expo 已經整合的原生能力。
  • iOS 模擬器是 Apple 的專用實驗設備。它依賴 macOS 上的 Xcode,不能直接安裝在 Windows。
  • 開發建置則像為你的專案製作一個定制實驗盒。當你加入 Expo Go 沒有內建的原生套件,就不能只靠通用預覽。

Expo 官方的建立專案說明確認了 Expo 專案可以先在開發電腦上建立與執行;但 Apple 的裝置執行說明Xcode 系統要求則界定了 iOS 模擬器和 Xcode 本機工作流程的 macOS 邊界。

所以,電腦選擇不應先問「Mac 還是 Windows 比較好」,而應先問:「這份課程作業要交什麼結果?」

03

Expo Go 與真機預覽

如果課程只是要求完成幾個頁面、按鈕、表單或簡單資料呈現,Windows 通常已經足夠。你可以在 Windows 寫程式,再用 Expo Go 在實際 iPhone 上預覽支援範圍內的功能。

常見流程如下:

  1. 在 Windows 安裝課程要求的開發工具,並建立 Expo 專案。
  2. 啟動本地開發伺服器,讓電腦提供專案預覽。
  3. 在 iPhone 安裝 Expo Go,掃描終端機或瀏覽器顯示的 QR code。
  4. 先測試畫面切換、按鈕、輸入欄位和基本互動。
  5. 逐項記錄「能顯示」、「能操作」和「在 iOS 出錯」的功能,不要只截一張首頁圖片就判定完成。

電腦與手機處於同一個區域網路時,QR code 通常最容易使用。如果手機掃描後無法開啟,問題可能是兩台裝置不在同一網路、校園網路阻擋裝置互通,或本地連線位址無法從手機存取。改用公共網路也不代表一定能連線;防火牆、路由器隔離和校園網路政策都可能造成失敗。

Expo Go 能不能代替 iOS 模擬器?
不能完全代替。Expo Go 適合入門預覽,但它不是完整的 iOS 開發環境。你看得到頁面,只代表目前使用的功能能在 Expo Go 的原生能力範圍內運作,不代表未來加入原生套件後仍然相同。

如果你沒有 iPhone,Windows 仍可先完成程式編寫與部分非 iOS 專用測試,但不能把 Android 預覽當成 iOS 結果。課程要求 iPhone 截圖、iOS 鍵盤行為或特定裝置尺寸時,最好先確認老師是否接受其他證明方式。

04

iOS 模擬器的阻塞點

iOS 模擬器只能在 macOS 上使用。它的價值不只是「不用拿手機」,還包括檢查不同螢幕尺寸、截取課程作業圖片,以及在沒有實體 iPhone 時重現部分 iOS 操作。

當課程出現「請使用 iOS Simulator 截圖」或「請附上 Xcode 執行結果」時,Windows 本機就會遇到硬限制。這不是重新安裝 Expo 或調整 QR code 可以解決的問題。

你有三個選擇:

  • 使用真實 iPhone:成本和操作最直接,適合只需展示基本功能的作業;但你仍看不到 iOS 模擬器的多種裝置尺寸,也不能取代 Xcode 原生除錯。
  • 使用遠端 Mac:適合短期課程、模擬器截圖和需要查看 Xcode 日誌的任務;你不必為一份作業長期閒置一台電腦,但要先確認遠端連線、檔案保存和模擬器操作是否符合課程時間。
  • 暫時只完成 Android 部分:只有在老師明確接受分階段提交時才適合。否則最後才發現缺少 iOS 證明,會比早點確認環境更被動。

沒有 iPhone 和 Mac,怎樣測試 Expo 專案?
你可以先用 Windows 完成程式碼,再使用雲端建置產生 iOS 建置結果;但若要操作 iOS 模擬器或直接查看 Xcode 的本機錯誤,仍需 macOS 環境。雲端建置解決的是「產出建置檔」,不是「提供完整互動式除錯桌面」。

05

原生套件帶來的能力斷層

初學者常遇到這種情況:首頁、導覽列和表單在 Expo Go 裡都正常,加入相機、藍牙、背景任務或其他第三方原生套件後,專案卻突然無法啟動。

原因可以用兩個盒子理解:

  • Expo Go 是預先做好的通用盒子。你只能使用盒子內已經存在、且與目前版本相容的原生功能。
  • 開發建置是為你的專案製作的定制盒子。需要額外原生程式碼時,必須建立專屬建置,不能只期待 Expo Go 動態加入所有功能。

Expo 對第三方函式庫相容性的說明指出,原生套件是否能使用,取決於套件支援方式與目前的 Expo 工作流程。遇到這類問題時,先查官方支援範圍,不要把「有人在影片中成功」當成你的專案必定可用。

你可以按以下步驟排查:

  1. 先移除最近加入的原生套件,確認純 JavaScript 部分是否仍能啟動。
  2. 查看該套件是否需要額外原生設定,以及是否已被 Expo Go 支援。
  3. 若不在 Expo Go 的固定能力內,改為建立 development build。
  4. 從 Windows 發起雲端建置,確認套件能否完成編譯。
  5. 建置失敗時,閱讀完整錯誤日誌,分辨是套件版本、權限、原生設定還是 iOS 工具鏈問題。
  6. 若錯誤需要 Xcode 的專案設定、簽名或模擬器重現,再使用 Mac 環境處理。

Expo 的開發建置入門文件開發建置常見問題可用來確認這個轉換點。重點是:開發建置不是「更漂亮的 Expo Go」,而是包含你專案原生程式碼的獨立應用程式。

06

雲端建置與本機除錯

Windows 可以發起 iOS 雲端建置,也可以把建置流程交給雲端服務處理。Expo 的官方建置說明iOS 提交流程可用來核對建置及提交的工作範圍。

但「建置成功」和「本機能完成除錯」是兩個結果:

  • 作業只要求產出 iOS 建置結果:Windows 加雲端建置可能足夠。
  • 作業要求在 iPhone 上展示:Windows 加真機,加上必要的建置流程即可。
  • 作業要求 iOS 模擬器截圖:需要 macOS 上的模擬器。
  • 專案出現原生錯誤:可能需要 Mac 和 Xcode 查看專案設定、編譯訊息及執行狀態。

Windows 寫完的 Expo 專案,怎樣在 iOS 上建置?
先在 Windows 完成程式碼和設定,再依 Expo 文件設定雲端建置,讓遠端環境產生 iOS 建置結果。若使用的套件含有自訂原生程式碼,先完成 development build,而不是直接假設 Expo Go 可以代替它。最後依課程要求,把建置結果安裝到允許的測試裝置,或交付老師指定的檔案與截圖。

不要把帳戶共享、繞過學校裝置管理或規避軟體授權當成解法。遇到簽名、權限或裝置註冊問題,應按官方文件和課程規則處理。

07

三條電腦路線的選擇表

路線 可以完成的任務 主要限制 適合誰
Windows+Expo Go+真機 編寫程式、基本畫面、常見互動、入門預覽 沒有本機 iOS 模擬器;原生功能受 Expo Go 範圍限制 剛開始學 Expo 的學生
Windows+雲端建置 從 Windows 發起 iOS 建置,測試建置流程與提交準備 建置成功不等於能在本機重現所有 iOS 錯誤 需要交付建置結果、但暫時沒有 Mac 的學習者
遠端 Mac 使用 macOS、iOS 模擬器與 Xcode,處理本機原生排錯 受遠端連線品質、檔案保存方式和課程時段影響 需要模擬器、Xcode 或短期專題驗收的人
購買 Mac 長期使用完整 macOS 開發環境 前期支出較高,課程結束後可能低度使用 長期進行 iOS 原生開發的人

如果你只是剛開始學,先保留現有 Windows 電腦通常更合理。若課程明確要求模擬器,直接購買前,可先閱讀遠端 Mac 學習環境的連線資訊,確認操作方式是否適合你的課程。

08

按作業結果做五步驗收

不要以「專案有成功開啟」作為唯一驗收標準。建議按這五步確認:

  1. 確認提交物:老師要的是程式碼、影片、真機截圖、模擬器截圖,還是可安裝的 iOS 建置檔。
  2. 確認預覽環境:用 Windows 和 Expo Go 完成基本頁面,記下哪些功能只在真機測過。
  3. 確認原生依賴:逐項檢查套件是否超出 Expo Go 支援範圍,必要時改建 development build。
  4. 確認 iOS 阻塞點:若需要模擬器、Xcode 日誌或原生專案設定,提前安排 Mac 環境,不要等到截止日前才處理。
  5. 確認保存與交付:把程式碼、設定檔、建置日誌和截圖保存到你能取回的位置,並先測試一次從遠端環境下載或提交。

這套方法能回答「現在的電腦能不能完成作業」,也能避免把所有問題都誤判成電腦效能不足。

Expo 專案什麼時候必須使用 Xcode?
當你要在本機操作 iOS 模擬器、檢查原生專案設定、查看 Xcode 編譯錯誤,或處理需要 Apple 開發工具的本機流程時,就應安排 macOS 和 Xcode。若只是從 Windows 發起雲端建置,則不等於每一步都必須在 Xcode 內完成。

雲端建置可以完全取代 Mac 嗎?
不能。它可以取代部分建置和提交工作,卻不能完整取代本機模擬器、Xcode 互動式除錯和所有原生問題排查。若課程只看最終建置結果,替代程度較高;若課程要你展示除錯過程,仍要準備 Mac 路線。

09

最終分流建議

  • 只學基礎 Expo:繼續使用 Windows,加上 Expo Go 和可用的真機。
  • 課程短期要求模擬器或 iOS 截圖:按課程周期使用遠端 Mac,先驗收連線、模擬器操作和專案保存。
  • 長期加入原生程式碼:再考慮固定使用 Mac,因為反覆建立遠端環境和排查本機工具鏈可能增加管理成本。

對只需要完成一門課或一個專題的學生來說,直接購買 Mac 的缺點是前期支出、設備維護和課程結束後閒置;只靠 Windows 的缺點是遇到 iOS 模擬器與 Xcode 原生錯誤時沒有本機處理能力;只靠雲端建置的缺點則是能產出結果,卻未必能重現互動式除錯情境。

因此,先用 Windows 開始學,到了模擬器、原生模組或 Xcode 日誌真正成為作業門檻時,再租用 KVMNODE 的遠端 Mac 學習環境,通常比提早買一台長期閒置的 Mac 更符合學生的使用週期。若你已確認課程需要這些能力,可先查看遠端 Mac 完成移動開發課程前的環境選擇,再按實際課程時間安排測試。