不上架 App Store 把自己的 App 裝到 iPhone
作者:Mehdi Azizi
發布於 ,10 分鐘
用 Mac 和 Xcode 就能免費安裝,但 App 7 天後就會失效。付費帳號、TestFlight、Expo build 或 Expo Go,依你的情況挑對方法。
對,你可以不透過 App Store 把自己的 App 裝到 iPhone 上,而且還能免費。你需要一台 Mac、Xcode 和一個普通的 Apple 帳號。但用免費帳號的話,安裝 7 天後就會失效:你得重新編譯 App 再裝一次。想讓它留久一點,或是沒有 Mac 也想安裝,就得加入付費的 Apple Developer Program,每年 99 美元。
我自己的 App,Solys、TradaZen 和 Nolera,早在上架前就已經在我的 iPhone 上測試。這篇指南比較五種官方途徑,資料來自 Apple 和 Expo 的頁面,於 2026 年 11 月 3 日重新查核。如果你想知道的是做一個 App 的整體成本,請改看免費製作 iPhone App。
五種安裝 App 的方式比較
| 方法 | 費用 | 需要 Mac | 安裝有效期 |
|---|---|---|---|
| Xcode,免費帳號 | 免費 | 是 | 7 天 |
| Xcode,付費帳號 | 99 美元/年 | 是 | 最長 12 個月 |
| 用連結安裝的 Expo build | 99 美元/年 | 否 | 最長 12 個月 |
| TestFlight | 99 美元/年 | 否 | 每個 build 90 天 |
| Expo Go | 免費 | 否 | 依附在你的電腦 |
各列的限制如下:
- 免費帳號:3 台裝置、10 個 App ID,有效期 7 天,每台裝置最多 3 個 App。
- 付費帳號,Xcode 或 Expo 連結:每個會員年度最多登記 100 台 iPhone。
- TestFlight:最多 100 位內部測試員和 10,000 位外部測試員,外部測試需經 Apple 審查。
- Expo Go:你的專案在 Expo Go App 裡面執行,不能用自訂原生模組。
12 個月是安裝描述檔(provisioning profile)的有效期,依據Expo 的文件。其他數字來自下文引用的 Apple 頁面。
免費:用 Mac 和 Xcode
這是唯一不必付會費、就能把真正的原生 App 裝到 iPhone 的官方方法。Xcode 在Mac App Store 免費下載。目前版本需要 macOS 26.6,以及搭載 Apple M1 或更新晶片的 Mac。
根據Xcode 的文件,步驟如下:
- 在 Xcode 登入你的 Apple 帳號,選單 Settings,再到 Apple Accounts。沒有付費會籍時,Xcode 會顯示為 Personal Team。
- 打開專案的 Signing & Capabilities 分頁。點 Set Up Signing,選擇你的團隊,輸入一個唯一的 bundle ID。
- 用 Device Hub 將 iPhone 與 Mac 配對,有線或無線都可以。
- 選你的 iPhone 當作執行目標,然後點 Run。Xcode 會登記裝置並建立安裝描述檔。
用 Expo 的話,指令 npx expo run:ios --device 做的是同一件事:用 Xcode 在本機編譯專案,再裝到接上的 iPhone。Expo 有說明:在沒有付費帳號的情況下,本機編譯是把 development build 裝到 iPhone 的唯一方法。
免費帳號的限制
Apple 關於開發者帳號的說明為 Personal Team 設了三個限制:
- 最多 10 個 App ID,7 天後失效;
- 最多 3 台裝置,同樣 7 天後失效;
- 每台裝置最多 3 個 App。
安裝描述檔在建立 7 天後失效。過了期限,Apple 會要你重新編譯 App,再從 Xcode 重裝。依同一頁的表格,免費帳號無法使用 App Store Connect、TestFlight,也進不了憑證與描述檔的管理區。如果是每週都在改的個人 App,還過得去。如果是想每天用、不想多花心思的 App,很快就會覺得煩。
在 iPhone 開啟開發者模式
由 Xcode 編譯、或從 .ipa 檔安裝的 App,在開發者模式關閉時打不開。Apple 設計這個模式是為了避免使用者不小心裝到有風險的軟體。它不影響從 App Store 或 TestFlight 安裝的 App。
開啟方式:
- 打開 Settings,再進 Privacy & Security。
- 在 Security 底下開啟 Developer Mode。
- 在提示中點 Restart。
- 重新開機後,點 Turn On 確認,再輸入密碼。
根據 Apple,這個選項只有在開始與 Mac 配對後,或 iPhone 曾經配對過,才會出現在 Settings 裡。根據 Expo,用連結安裝的 Expo build 和本機的 development build 也需要開發者模式。沒有 Mac 的話,Expo 建議先安裝 build,再點它的圖示:這時會跳出提示,讓你開啟這個模式。
用付費帳號:讓 App 一直留著
加入 Apple Developer Program 每個會員年度 99 美元,註冊時會以當地貨幣顯示價格。個人和組織怎麼選、會籍包含哪些內容,詳見Apple 開發者帳號:價格與註冊。
有了會籍,安裝就不再只有 7 天。Expo 表示安裝描述檔在 12 個月後才失效。依據Apple 關於裝置的說明,每個會員年度最多可登記 100 台 iPhone。停用裝置並不會釋出名額:計數器要到下一個會員年度開始才會重設為 100。
你可以繼續用 Xcode 安裝,或改用接下來兩種不需要 Mac 的方法。
用連結安裝的 Expo build
Expo 把這個方法叫做內部發佈。EAS 的伺服器幫你編譯 App,然後給你一個安裝連結。這需要付費的 Apple Developer 帳號。
- 登記你的 iPhone,用
eas device:create。指令會產生一個連結或 QR code,在手機上打開即可。 - 在
eas.json加一個 profile,設定"distribution": "internal",做法參考Expo 的教學。 - 用這個 profile 執行 iOS build,再在 iPhone 上打開安裝連結。
之後才加入的 iPhone 需要新的 build,或把現有 build 重新簽署。Expo 也提醒,已停用的裝置仍然算在 100 台的上限內。
如果你的 App 有用到原生模組,這是最理想的方法。我的 App 還在 Expo SDK 57,而 App Store 上的 Expo Go 已經跟到 SDK 58:所以我是用自己的 build 測試,不是在 Expo Go 裡。
TestFlight:最舒服的方式
TestFlight 會像一般 App 一樣安裝你的 App,不需要開發者模式,也不用登記裝置。根據App Store Connect 的說明,每個 build 可使用 90 天。你最多可以邀請 100 位內部測試員,也就是有權存取你 App 的 App Store Connect 使用者。
這是我每天在用的方法。我的 App 內部群組設成自動發佈:每次上傳的 build 都會自己出現在我 iPhone 的 TestFlight App 裡。Expo 也證實:build 會被加到有開啟自動發佈的群組。
如果測試員不在你的團隊裡,Apple 會審查第一個 build。完整細節請看TestFlight:測試你的 iPhone App。
Expo Go:一毛不花先試試看
Expo Go 是一個免費 App,會從你的電腦載入專案。這是在 iPhone 上看到第一批畫面最快的方式,就算用 PC 也行。從 2026 年 9 月起,Expo 要求登入 Expo 帳號,終端機和 iPhone 上的 App 都要。
有兩個限制要知道:
- 版本。Expo Go 只支援最新版的 SDK。它在 App Store 上的版本於 2026 年 10 月 22 日推出,跟到 SDK 58。但這種同步並沒有保證:根據Expo 2026 年 5 月 4 日的 changelog,2026 年春天它一直停在 SDK 54,等待 Apple 核准。因此從 SDK 56 起,
create-expo-app會讓你建立與 App Store 版本相容的專案。如果你的專案用的是其他 SDK,eas go可以做出你自己的 Expo Go,透過 TestFlight 發佈,但需要付費會籍。 - 原生模組。Expo 自己就說:Expo Go 是學習用的試驗場,功能有限,不適合要上線的專案。只要你加入 Expo Go 沒有的原生模組,就需要 development build。
用 Windows 電腦
Xcode 只有 Mac 版。在 Windows 上,沒有任何官方方法能免費把原生 App 裝到 iPhone。Expo 的 FAQ 總結得很清楚:在雲端編譯,再用 Expo Go 或 development build 在實機 iPhone 上測試。你還有兩條路:
- 免費:Expo Go,搭配與其 App Store 版本相容的專案。
- 有會籍:EAS 伺服器編譯你的 App,再用連結或 TestFlight 安裝。Expo 說明它的上傳服務在 Windows 和 Linux 上也能送出 iOS App。
沒有 Mac 的完整流程請看沒有 Mac 也能發佈 iOS App。
該選哪個方法
- App 只給自己用、你有 Mac、每週重裝一次也無所謂:Xcode 加免費帳號。
- 你想每天用、不想多花心思:付費會籍,再用 TestFlight。
- App 用到原生模組、而你沒有 Mac:會籍,再用連結安裝的 Expo build。
- 你剛入門,只想看看畫面:Expo Go。
- 你想分享給幾個親友:TestFlight,用內部測試員或外部群組。
打造你要安裝的 App
安裝只是這條路的終點。如果你用 AI 開發 App,iOS & Android Kit 以我自己 App 的起始程式碼為基礎,已經準備好搭配 Expo,帶你按自己的步調走完四個階段,直到上架 App Store。AI 在行動 App 專案上常犯的錯,詳見用 AI 製作 App。
如果你還不確定下一步怎麼走,做個免費診斷:它會告訴你真正卡住你的是什麼,並寄給你我的 Apple 防退件檢查清單。用 Expo 的完整方法請看React Native 與 Expo 行動 App 頁面。
常見問題
可以免費不透過 App Store 把自己的 App 裝到 iPhone 嗎?
可以,用一台 Mac、Xcode 和免費的 Apple 帳號。Xcode 會編譯 App 並裝到接上的 iPhone。安裝 7 天後失效,而且最多 3 台裝置、每台裝置 3 個 App。
為什麼用 Xcode 安裝的 App 7 天後就不能用?
用免費帳號時,Apple 會讓安裝描述檔在建立 7 天後失效。這時重新編譯 App,再從 Xcode 重裝即可。有付費會籍的話,描述檔最長可用 12 個月。
iPhone 怎麼開啟開發者模式?
打開 Settings,進入 Privacy & Security,在 Security 底下開啟 Developer Mode。點 Restart,再點 Turn On 並輸入密碼確認。iPhone 與 Mac 配對後才會出現這個選項。沒有 Mac 的話,先安裝 build,再點它的圖示:會跳出提示讓你開啟這個模式。
可以用 Windows 把自己的 App 裝到 iPhone 嗎?
原生 App 沒辦法免費安裝,因為 Xcode 只有 Mac 版。免費的話,你可以在 Expo Go 裡執行專案。有付費會籍的話,EAS 會在雲端編譯 App,再用連結或 TestFlight 安裝。
開發者帳號可以登記幾台 iPhone?
付費帳號每個會員年度最多 100 台 iPhone。停用裝置不會釋出名額。免費帳號上限是 3 台裝置,7 天後失效。
用 TestFlight 安裝的 App 可以留多久?
每個 build 可使用 90 天。到期前上傳新的 build,再從 TestFlight App 安裝即可。

