如何製作 iPhone App(有沒有 Mac 都可以)
要製作 iPhone app,你需要先選定製作方式(在 Mac 上用 Apple 的 Xcode 寫 Swift、使用跨平台框架,或由會在雲端編譯的 builder 把網頁 app 包裝成 iOS 版本),然後加入 Apple Developer Program、透過 TestFlight 測試,最後提交 App Review 審核。如果有服務替你建置及簽署,你就可以在沒有 Mac 的情況下製作 iPhone app,但你始終需要自己的 Apple 開發者帳戶。本指南會逐一說明各個途徑,以及容易令人踩坑的 Apple 專屬規則。
iPhone app 的不同之處
iOS 有三點比 Android 嚴格:
- 必須簽署。 所有在開發以外安裝的 app,都必須用 Apple 開發者帳戶的憑證簽署。沒有像把檔案傳到朋友 iPhone 那樣的側載方式。
- Xcode 只可在 macOS 上運行。 Apple 用來建置及上載 app 的工具需要 Mac,除非由別人的 Mac 代為處理。
- 每個 App Store 版本都由 Apple 的人員按已公布的指引審核。
這些都不是避開 iPhone 的理由,只代表你需要預留帳戶、審核及測試的階段。
三種製作方式
使用 Swift 和 Xcode 製作原生 app
Swift 和 SwiftUI 是 Apple 自家的語言及介面框架。你在 Xcode 中製作,在 iOS Simulator 中運行 app,然後用線纜或無線方式安裝到你的 iPhone。
- 適合選擇的情況: app 需要最佳效能、最新的 iOS 功能、小工具(widgets)或深入的硬件存取。
- 需要預備: 一部 Mac、如果你是新手的話數月的學習時間,以及日後為 Android 另行製作的版本。
使用 Flutter 或 React Native 製作跨平台 app
同一套程式碼可以同時產生 iPhone 及 Android app。你仍然需要 Mac,或雲端 Mac 服務,來完成最後的 iOS 建置及上載。
把網頁 app 包裝成 iOS app
網頁 app 被放進原生外殼,並建置成已簽署的 iPhone app。這就是 Mythex 製作 iPhone app 的方式。你在聊天中描述 app;Mythex 把它製作成附有資料庫及儲存空間的全端網頁 app;你將它發佈;而在 Pro 方案下,Mythex 會在自家的 Mac 建置機上建置 iPhone app,用你的 App Store Connect API 金鑰簽署,然後上載到你的 TestFlight。你的桌上不需要 Mac,也不需要 Xcode。
誠實地說明限制:Mythex 不會寫 Swift。手機 app 會開啟你已發佈的 app,因此它適合畫面可以用網頁形式運作的 app,例如預約、入口網站、訂購、追蹤器及社群工具,而且每次發佈後都會即時更新。
第一步:加入 Apple Developer Program
截至 2026 年 11 月,會員費用為每年 99 美元(各地價格或有不同)。你可以以以下身分註冊:
- 個人。 你的法定姓名會顯示為 App Store 上的賣家。你需要已開啟雙重認證的 Apple 帳戶。
- 機構。 會顯示你公司的名稱。Apple 要求法律實體、D-U-N-S 編號(大部分地區免費)、公司網域的工作電郵,以及一個可正常運作的網站。審核可能需時較長,請預留時間。
合資格的教育機構可以在獲豁免費用的情況下註冊。
第二步:製作第一個版本
只保留核心流程。以下是一間小型工作室的課堂預約 app 提示詞:
為一間瑜伽室製作以 iPhone 為先的 app。會員以電郵註冊,查看本週的課堂時間表(課程名稱、導師、時間、剩餘名額),可以預約課堂或加入候補名單,並可於兩小時前取消。會員可在第二個分頁查看即將到來的預約。工作室負責人在網頁登入,以新增課堂及查看預約者。設計要簡潔,底部分頁欄,按鈕要大。
你可以在 Mythex iOS app builder 中製作這個 app,並在即時預覽中試用;發佈後亦可在 iPhone 的瀏覽器上試用。
第三步:符合 Apple 的要求
Apple 的指引 4.2 指出,app 應超越單純換了包裝的網站。實際的做法包括:
- 做成工具,而不是宣傳冊。 有帳戶、已儲存的資料,以及用戶會反覆回來使用的功能。
- 為手機設計版面。 底部分頁欄,不要細小的桌面選單,也不需要用手指縮放。
- 妥善處理沒有網絡的情況,以清楚的訊息代替空白畫面。
- 隱藏那些會把用戶帶到桌面網站的連結,核心功能不應如此。
另外有兩項規則應及早留意。如果 app 容許用戶建立帳戶,它也必須容許用戶在 app 內刪除帳戶(指引 5.1.1(v))。如果 app 以收費方式解鎖數碼功能或內容,Apple 要求使用 App 內購買(指引 3.1.1)。
第四步:在 App Store Connect 建立 app
App Store Connect 是 Apple 用來管理 app 的網站。在 Apps 之下,按 +,再選 New App,然後輸入名稱、主要語言、Bundle ID,以及 SKU(你自己的參考編號)。Apple 不容許外部工具建立這項記錄,所以你要親自做一次。在 Mythex 中,第一個 iPhone 版本會告訴你應使用的確切名稱和 Bundle ID。
如要讓 Mythex 代你簽署及上載版本,你需要在 Users and Access → Integrations → App Store Connect API 之下,建立一個具 Admin 角色的 Team 金鑰,下載 .p8 檔案(Apple 只容許你下載一次),然後連同你的 Issuer ID 在專案中加入。Mythex 在儲存前會先與 Apple 核實該金鑰。
第五步:使用 TestFlight 測試
版本上載後,Apple 需要處理,通常需時數分鐘至半小時。之後:
- 內部測試人員(你 App Store Connect 團隊中最多 100 人)可即時安裝。
- 外部測試人員(最多 10,000 人,透過電郵或公開連結)需要該群組的首個版本通過簡短的測試版審核。
- 每個版本的有效期為 90 日,之後便會過期。
在你的 iPhone 上安裝 TestFlight app,接受邀請,然後測試主要流程。可以試試大字體、深色模式,以及關閉通知的情況。我們的測試版指南可以協助你找到測試人員及收集意見。
第六步:提交 App Review 審核
提交前,你需要截圖、描述、支援網址、私隱政策網址、關於你所收集資料的 App Privacy 答覆、年齡分級及定價。如果 app 需要登入,請向 Apple 提供示範帳戶。Apple 表示,至少一半的提交會在 24 小時內完成審核,90% 則會在 48 小時內完成。
完整的檢查清單及常見的拒絕原因,可參閱如何在 App Store 發佈 app。
第七步:發佈更新
原生 app 及跨平台 app 每次更改都需要新的建置版本及重新審核。包裝後的網頁 app 則不同:內容及功能的更改,在你發佈網頁 app 後便會送到 iPhone 用戶手上。只有外殼層面的更改,例如圖示、名稱或權限,才需要新的商店版本。
費用一覽
| 項目 | 截至 2026 年 11 月 |
|---|---|
| Apple Developer Program | 每年 99 美元 |
| Xcode | 免費,需要 Mac |
| Apple 對數碼銷售抽取的佣金 | 小型企業計劃的開發人員為 15%;請查閱 Apple 最新條款 |
| Mythex Pro(包括 iPhone 建置) | 每月 25 美元 |
下一步
如果你的用戶主要使用 iPhone,可以從這裡開始,之後再加入 Android。如果用戶分佈較平均,請閱讀如何製作手機 app,比較可以用同一套程式碼同時服務兩個平台的做法;至於 Google 一方,則可參閱如何製作 Android app。
常見問題
我可以在 Windows 上製作 iPhone app 嗎?
用 Apple 自家的工具不行,因為 Xcode 只可在 macOS 上運行。你可以在 Windows 上寫跨平台 app,再用雲端 Mac 服務來建置;或者使用會在自家 Mac 上編譯的 builder。Mythex 在 Pro 方案中提供這項服務,並會把建置版本上載到你的 TestFlight。
製作 iPhone app 要花多少錢?
要發佈的話,你需要 Apple Developer Program,2026 年 11 月時的費用為每年 99 美元,合資格的教育機構及部分其他機構可獲豁免費用。製作本身的成本由你自己的時間(使用免費工具)到 builder 訂閱費或開發人員收費不等。
我需要懂 Swift 才能製作 iPhone app 嗎?
只有當你打算自己製作原生 app 時才需要。跨平台框架使用其他語言,而 AI builder 讓你用普通文字描述 app。Mythex 會把你的 app 製作成網頁 app,再包裝成 iPhone 版本,所以你完全不需要寫 Swift。
什麼是 TestFlight?
TestFlight 是 Apple 的測試版服務。你把建置版本上載到 App Store Connect,加入測試人員,他們便可以透過 TestFlight app 安裝並試用。內部測試人員最多 100 人,外部測試人員最多 10,000 人,而每個建置版本的有效期為 90 日。
為什麼 iPhone app 會被拒絕?
Apple 表示,超過 40% 未解決的問題屬於指引 2.1「App 完整性」,例如當機、佔位內容、損壞的連結,或缺少資料(例如示範登入帳戶)。其他常見原因包括:app 只是換了包裝的網站、缺少刪除帳戶功能,以及銷售數碼內容卻沒有使用 App 內購買。