# 不上架 App Store 把自己的 App 裝到 iPhone

> 用 Mac 和 Xcode 就能免費安裝，但 App 7 天後就會失效。付費帳號、TestFlight、Expo build 或 Expo Go，依你的情況挑對方法。

原始頁面：[不上架 App Store 把自己的 App 裝到 iPhone](https://devoria.fr/zh-hant/blog/install-own-app-iphone-without-app-store)
作者：[Mehdi Azizi](https://devoria.fr/zh-hant/mehdi-azizi)
發布日期：2026-11-04
內容最後修訂：2026-11-04


對，你可以不透過 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](https://devoria.fr/zh-hant/blog/free-iphone-app-real-cost)。

## 五種安裝 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 的文件](https://docs.expo.dev/app-signing/app-credentials/)。其他數字來自下文引用的 Apple 頁面。

## 免費：用 Mac 和 Xcode

這是唯一不必付會費、就能把真正的原生 App 裝到 iPhone 的官方方法。Xcode 在[Mac App Store 免費下載](https://apps.apple.com/fr/app/xcode/id497799835?mt=12)。目前版本需要 macOS 26.6，以及搭載 Apple M1 或更新晶片的 Mac。

根據[Xcode 的文件](https://developer.apple.com/documentation/xcode/running-your-app-on-simulated-or-physical-devices)，步驟如下：

1. **在 Xcode 登入你的 Apple 帳號**，選單 Settings，再到 Apple Accounts。沒有付費會籍時，Xcode 會顯示為 Personal Team。
2. **打開專案的 Signing & Capabilities 分頁**。點 Set Up Signing，選擇你的團隊，輸入一個唯一的 bundle ID。
3. **用 Device Hub 將 iPhone 與 Mac 配對**，有線或無線都可以。
4. **選你的 iPhone** 當作執行目標，然後點 Run。Xcode 會登記裝置並建立安裝描述檔。

用 Expo 的話，指令 `npx expo run:ios --device` 做的是同一件事：用 Xcode 在本機編譯專案，再裝到接上的 iPhone。[Expo 有說明](https://docs.expo.dev/develop/development-builds/introduction/)：在沒有付費帳號的情況下，本機編譯是把 development build 裝到 iPhone 的唯一方法。

### 免費帳號的限制

[Apple 關於開發者帳號的說明](https://developer.apple.com/help/account/basics/about-your-developer-account)為 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 設計這個模式](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device)是為了避免使用者不小心裝到有風險的軟體。它不影響從 App Store 或 TestFlight 安裝的 App。

開啟方式：

1. 打開 Settings，再進 Privacy & Security。
2. 在 Security 底下開啟 Developer Mode。
3. 在提示中點 Restart。
4. 重新開機後，點 Turn On 確認，再輸入密碼。

根據 Apple，這個選項只有在開始與 Mac 配對後，或 iPhone 曾經配對過，才會出現在 Settings 裡。[根據 Expo](https://docs.expo.dev/guides/ios-developer-mode/)，用連結安裝的 Expo build 和本機的 development build 也需要開發者模式。沒有 Mac 的話，Expo 建議先安裝 build，再點它的圖示：這時會跳出提示，讓你開啟這個模式。

## 用付費帳號：讓 App 一直留著

加入 [Apple Developer Program](https://developer.apple.com/programs/enroll/) 每個會員年度 99 美元，註冊時會以當地貨幣顯示價格。個人和組織怎麼選、會籍包含哪些內容，詳見[Apple 開發者帳號：價格與註冊](https://devoria.fr/zh-hant/blog/apple-developer-account-price-free-or-99)。

有了會籍，安裝就不再只有 7 天。Expo 表示安裝描述檔在 12 個月後才失效。依據[Apple 關於裝置的說明](https://developer.apple.com/help/account/devices/devices-overview)，每個會員年度最多可登記 100 台 iPhone。**停用裝置並不會釋出名額**：計數器要到下一個會員年度開始才會重設為 100。

你可以繼續用 Xcode 安裝，或改用接下來兩種不需要 Mac 的方法。

## 用連結安裝的 Expo build

Expo 把這個方法叫做[內部發佈](https://docs.expo.dev/build/internal-distribution/)。EAS 的伺服器幫你編譯 App，然後給你一個安裝連結。這需要付費的 Apple Developer 帳號。

1. **登記你的 iPhone**，用 `eas device:create`。指令會產生一個連結或 QR code，在手機上打開即可。
2. **在 `eas.json` 加一個 profile**，設定 `"distribution": "internal"`，做法參考[Expo 的教學](https://docs.expo.dev/tutorial/eas/internal-distribution-builds/)。
3. **用這個 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 的說明](https://developer.apple.com/help/app-store-connect/test-a-beta-version/testflight-overview)，**每個 build 可使用 90 天**。你最多可以邀請 100 位內部測試員，也就是有權存取你 App 的 App Store Connect 使用者。

這是我每天在用的方法。我的 App 內部群組設成自動發佈：每次上傳的 build 都會自己出現在我 iPhone 的 TestFlight App 裡。[Expo 也證實](https://docs.expo.dev/eas/json/)：build 會被加到有開啟自動發佈的群組。

如果測試員不在你的團隊裡，[Apple 會審查](https://developer.apple.com/testflight/)第一個 build。完整細節請看[TestFlight：測試你的 iPhone App](https://devoria.fr/zh-hant/blog/testflight-test-iphone-app-before-review)。

## Expo Go：一毛不花先試試看

Expo Go 是一個免費 App，會從你的電腦載入專案。這是在 iPhone 上看到第一批畫面最快的方式，就算用 PC 也行。從 2026 年 9 月起，[Expo 要求登入](https://expo.dev/changelog/expo-go-57-login) Expo 帳號，終端機和 iPhone 上的 App 都要。

有兩個限制要知道：

- **版本。**[Expo Go 只支援最新版的 SDK](https://docs.expo.dev/workflow/upgrading-expo-sdk-walkthrough/)。[它在 App Store 上的版本](https://apps.apple.com/fr/app/expo-go/id982107779)於 2026 年 10 月 22 日推出，跟到 SDK 58。但這種同步並沒有保證：根據[Expo 2026 年 5 月 4 日的 changelog](https://expo.dev/changelog/expo-go-and-app-store-may-2026)，2026 年春天它一直停在 SDK 54，等待 Apple 核准。因此從 SDK 56 起，`create-expo-app` 會讓你建立與 App Store 版本相容的專案。如果你的專案用的是其他 SDK，`eas go` 可以做出你自己的 Expo Go，透過 TestFlight 發佈，但需要付費會籍。
- **原生模組。**[Expo 自己就說](https://docs.expo.dev/get-started/set-up-your-environment/)：Expo Go 是學習用的試驗場，功能有限，不適合要上線的專案。只要你加入 Expo Go 沒有的原生模組，就需要 development build。

## 用 Windows 電腦

Xcode 只有 Mac 版。**在 Windows 上，沒有任何官方方法能免費把原生 App 裝到 iPhone。**[Expo 的 FAQ](https://docs.expo.dev/faq/) 總結得很清楚：在雲端編譯，再用 Expo Go 或 development build 在實機 iPhone 上測試。你還有兩條路：

- **免費**：Expo Go，搭配與其 App Store 版本相容的專案。
- **有會籍**：EAS 伺服器編譯你的 App，再用連結或 TestFlight 安裝。[Expo 說明](https://docs.expo.dev/deploy/submit-to-app-stores/)它的上傳服務在 Windows 和 Linux 上也能送出 iOS App。

沒有 Mac 的完整流程請看[沒有 Mac 也能發佈 iOS App](https://devoria.fr/zh-hant/blog/publish-ios-app-without-mac-expo-eas)。

## 該選哪個方法

- **App 只給自己用、你有 Mac、每週重裝一次也無所謂**：Xcode 加免費帳號。
- **你想每天用、不想多花心思**：付費會籍，再用 TestFlight。
- **App 用到原生模組、而你沒有 Mac**：會籍，再用連結安裝的 Expo build。
- **你剛入門，只想看看畫面**：Expo Go。
- **你想分享給幾個親友**：TestFlight，用內部測試員或外部群組。

## 打造你要安裝的 App

安裝只是這條路的終點。如果你用 AI 開發 App，[iOS & Android Kit](https://devoria.fr/zh-hant/kits/ios) 以我自己 App 的起始程式碼為基礎，已經準備好搭配 Expo，帶你按自己的步調走完四個階段，直到上架 App Store。AI 在行動 App 專案上常犯的錯，詳見[用 AI 製作 App](https://devoria.fr/zh-hant/blog/ai-ios-app-pitfalls-checks)。

如果你還不確定下一步怎麼走，[做個免費診斷](https://devoria.fr/zh-hant/diagnostic)：它會告訴你真正卡住你的是什麼，並寄給你我的 Apple 防退件檢查清單。用 Expo 的完整方法請看[React Native 與 Expo 行動 App](https://devoria.fr/zh-hant/expertise/react-native-expo-mobile-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 安裝即可。


## 你的專案

[iOS & Android Kit](https://devoria.fr/zh-hant/kits/ios)：用 Claude Code 打造你的 iPhone 和 Android App：我自己 App 的起始程式碼、上架商店的完整流程，以及所有套件。$3,599。

[診斷：你離自己的 iPhone App 還差什麼](https://devoria.fr/zh-hant/diagnostic)：7 個問題，60 秒：找出真正卡住你發布 iPhone App 的原因，拿到你的 4 步驟路線，以及最適合你的套件。
