官方 Kotlin Multiplatform 快速入門以 Android 與 iOS 兩個平台目標示範專案,但 iOS 建置需要 macOS 主機與 Xcode;官方文件列出的建置邊界決定了 Windows 能做的部分。

症狀:你只有 Windows,能寫共享 Kotlin 程式碼,卻不能在這台主機完成官方 iOS 建置或啟動 iOS Simulator。
最快解法:先用 Windows 練共享程式碼和 Android;課程要求 iOS 成果時,再安排可用的 Mac 與 Xcode 驗收。

適合閱讀的情況:你正在學 Kotlin 或 Android,想知道手上的 KMP 課程專案能否繼續。
如果共享模組已經寫好,卻卡在 iOS 建置、模擬器或設備選擇,下面的分流也適用。
如果課程只要求 Android 作業,暫時不必為了 KMP 三個字就急著換電腦。

01

先按課程交付物選擇環境

Kotlin Multiplatform(KMP)讓不同平台的專案共用部分 Kotlin 程式碼,但不代表每個平台都能在同一台電腦上完成建置。先確認老師要你交的是程式碼、Android 執行結果,還是 iOS 的建置與執行證明,再決定是否需要 Mac。

選項 適合完成的工作 需要留意的邊界 何時選
只有 Windows 編輯共享 Kotlin 程式碼、學 Android、提交專案 不能在 Windows 主機完成官方 iOS 建置與 iOS Simulator 驗收 課程目前只要求 Kotlin 基礎或 Android
學校或自有 Mac 開啟同一份專案、用 Xcode 建置及驗收 iOS 須確認設備可用、Xcode 符合課程要求,並遵守學校設備規範 作業要求 iOS 執行結果,而且你能使用 Mac
短期遠端 Mac 在遠端 macOS 環境接續專案並檢查 iOS 目標 須先確認連線方式、檔案接續及實際建置條件 沒有可借的 Mac,但課程確實要求 iOS 成果

Kotlin Multiplatform 可以在 Windows 上開發 iOS 應用嗎?可以在 Windows 編輯共用程式碼、學習專案結構,但這不等於能在 Windows 主機建置 iOS 應用。把「寫出共享程式碼」和「完成 iOS 平台交付」當成兩個不同的驗收項目,才不會做到最後才發現缺少建置環境。

02

只有 Windows 時,先把共享程式碼和 Android 練紮實

KMP 專案會把共用部分和平台相關部分分開。你可以把共享模組想成小組報告裡共用的研究內容;Android 或 iOS 平台程式碼則像各自要完成的實驗紀錄。同一份報告可以有共用內容,但不同實驗仍需要對應設備。

Kotlin 官方專案設定文件說明了 commonMain、androidMain、iosMain 等 source set 的用途。這些名稱分別對應共用程式碼及平台專屬程式碼,並不表示 Windows 可以替 iOS 完成平台建置。官方模組設定說明可用來核對你目前修改的是哪一部分。

Windows 階段可以先做以下練習:

  • 在共享模組加入與平台無關的資料處理或簡單邏輯。
  • 在 Android 目標執行課程要求的功能,確認共用程式碼能配合 Android 專案使用。
  • 查看專案目錄,分辨共享檔案與 Android、iOS 專屬檔案;不要因為看見 iosMain 就認為已能建置 iOS。
  • 把課程要求、專案修改和目前錯誤整理成紀錄,方便之後在 Mac 上接續。
  • 以官方支援的 IDE 和工具版本為準;Android Studio 的安裝需求可先對照官方安裝文件。

沒有 Mac 能不能先學 Kotlin Multiplatform?可以。先學 Kotlin 語法、共享程式碼概念及 Android 目標,不會因為沒有 Mac 就全部停擺。若課程目前只要 Android 執行結果,你可以繼續使用現有電腦;但若評分項目寫明 iOS 建置、Xcode 專案或模擬器畫面,就要另安排 Mac 驗收。

初學者常見的誤判,是把 IDE 能開啟專案、編輯檔案,當成所有目標都能在本機建置。官方的第一個 KMP 專案指南和快速入門可協助你核對專案平台與工作流程;實際支援內容仍以官方文件當下的版本說明為準。

03

課程要求 iOS 結果時,依序安排 Mac 驗收

如果作業要求 iOS 應用能啟動,或要提交模擬器截圖,Windows 上的程式碼編輯只能算前置工作。Kotlin 官方快速入門要求以 macOS 主機進行 iOS 建置,並透過 Xcode 啟動 iOS Simulator;Apple 也說明了如何在模擬器或實體裝置上執行應用。

把以下流程當成課程交接的驗收路線:

  • 先讀清楚交付要求。確認作業要的是共享程式碼、iOS 專案可建置,還是模擬器實際執行結果。若老師只收程式碼,不要自行把模擬器測試當成必交項目。
  • 核對課程指定的工具。詢問老師或查看課程說明中的 Xcode 版本、最低 macOS 要求和專案模板,再對照Apple 的 Xcode 系統需求。不要先假設任何 Mac 都符合課程要求。
  • 在 Windows 整理專案狀態。完成目前能做的共享程式碼與 Android 練習,確認修改已儲存,並記下尚未處理的 iOS 問題。
  • 用版本控制交接同一份專案。在自己有權使用的版本控制服務提交變更,再於獲授權的 Mac 取得同一份專案。這比用訊息軟體散落傳送多份壓縮檔更容易辨認哪份是最新版本。不要把帳號密碼或存取憑證寫進程式碼,也不要繞過學校的設備管理規定。
  • 在 Mac 上檢查工具與 iOS 目標。確認 Xcode 已安裝並符合課程要求,再依官方專案流程開啟、建置 KMP 專案。Windows IDE 編輯檔案不會自動替你遠端驅動 Mac 建置。
  • 啟動模擬器並留存驗收結果。以課程指定的 iOS Simulator 或設備執行應用,核對啟動狀態、畫面與必要功能。若遇到錯誤,記下建置訊息和工具版本,先分清楚是專案問題還是環境條件不符。

提醒:模擬器能否啟動,取決於 Mac 上的 Xcode、macOS 與專案設定是否符合要求。只在 Windows 編輯到一半,或看到 iOS 專案資料夾存在,都不能當作 iOS 驗收完成。

04

借不到 Mac 時,按阻塞點決定下一步

如果學校有開放使用的 Mac,先問清楚借用時段、是否允許安裝或使用課程所需工具,以及能否將專案帶入設備。這些條件比「有一台 Mac」更直接影響你能否完成作業。Windows 與學校 Mac 之間建議以同一個版本控制專案交接,避免手動複製後不確定哪一份才是最新版。

若沒有可借用的 Mac,依交付要求分流:

  • 只交 Kotlin 或 Android 作業:繼續使用 Windows,先完成共享程式碼與 Android 驗收。等課程真的加入 iOS 目標,再安排 Mac。
  • 必須交 iOS 建置或模擬器結果:先確認課程允許的設備與工具,再評估自有 Mac、學校設備或短期遠端 Mac。不要把 Windows 編輯環境當成 iOS 建置的替代品。
  • 尚未確認老師要求:先取得明確的交付清單,再決定設備。否則可能付出時間與費用,卻準備了課程並不需要的測試。

遠端 Mac 可以列入短期方案,但下決定前要先確認三件事:你能否按規定連線、是否能把同一份專案安全接續到 Mac,以及環境是否能實際完成課程指定的 Xcode 建置和模擬器驗收。先確認可用環境與課程限制,不要只憑「可以遠端操作」就假設一定能交付。

若你在比較購買與短期使用,也可以先查看KVMNODE 的 Mac 方案資訊,並以實際可用的環境、接入方式及課程工具要求作判斷。需要從 Windows 接續專案時,先確認你使用的連線與檔案管理方式符合學校規定;不要分享憑證,也不要執行來源不明的腳本。

你的 Windows 電腦適合先學共享 Kotlin 和 Android;課程要求 iOS 驗收時,短期缺少 Mac 會帶來三個實際限制:不能在本機使用 Xcode 完成建置、不能直接啟動 iOS Simulator,也難以提交可重現的 iOS 執行結果。若目前只需要短期完成課程驗收,租用 KVMNODE 的遠端 Mac 可作為待評估的選項;租用前先核對工具要求、連線方式與專案接續流程。若你已確認作業必須在 Mac 上驗收,可從KVMNODE了解遠端 Mac 使用方式,再依課程交付物決定是否需要短期使用。