App 轉移到另一個 Apple Developer 帳號
作者:Mehdi Azizi
發布於 ,9 分鐘
轉移 App:由帳號持有人發起 App Transfer,接收方須在 60 天內接受。App 會保留評分、評論和 Bundle ID。
要把一個 App 從某個 Apple Developer 帳號移到另一個帳號,Apple 在 App Store Connect 裡提供了 App 轉移功能。由轉出帳號的持有人發起轉移,接收帳號的持有人在 60 天內接受,之後處理最多需要兩個工作天。App 會繼續上架販售,保留評分、評論和 Bundle ID,使用者也會繼續收到更新。
會壞掉的東西要在按下按鈕之前就準備好:TestFlight、訂閱、Sign in with Apple、推播通知、共用鑰匙圈。我自己還沒有轉移過 App。這篇指南依據 Apple 的說明頁面(2026 年 11 月 3 日重新查閱),最後的清單則是我會套用在自己 App 上的做法,我的 App 都是用 Expo 和 RevenueCat 做的。
什麼時候要轉移 App
根據 App 轉移概覽,這個功能適用於你把 App 賣給其他開發者,或想把它移到另一個帳號或另一個組織的情況。獨立開發者最典型的例子:從個人帳號移到自己公司的帳號。要開公司帳號,先看 D-U-N-S 編號的指南。
轉移的是 App,不是你的帳號。每個 App 要分開轉移,完成後它會完全離開你的帳號。
Apple 的九個條件
轉移條件頁面列出九項,順序如下:
| Apple 的條件 | 你要檢查的地方 |
|---|---|
| 兩個帳號都沒有處於待處理或變更中的狀態,且雙方都已接受最新版本的付費與免費合約 | 雙方的 Business,Agreements 分頁 |
| App 至少有一個版本已在 App Store 上架 | 從未上架的 App 無法轉移 |
| App 在任何國家或地區都沒有開放預購 | 預購已結束或已撤下 |
| App 不處於以下任一狀態:Processing for Distribution、Waiting for Review、In Review、Accepted、Pending Developer Release、Pending Apple Release | 你的最新版本已在販售中 |
| App 內購買項目處於以下任一狀態:Approved、Ready to Submit、Developer Removed from Sale、Rejected | 沒有審查中或不完整的 App 內購買項目 |
| Apple 託管的資源包在 TestFlight 或 App Store 上沒有任何版本處於 Waiting for Review 或 In Review | 這方面沒有任何東西在審查中 |
| App 的 App 內購買產品 ID 沒有被接收方的任何 App 使用 | 比對兩個帳號的產品 ID |
| 使用過沙盒且與其他 Mac App 共用 Application Group Container Directory 的 Mac App 無法轉移 | 只影響部分 Mac App |
| Apple Arcade 的 App 無法轉移 | 影響的專案不多 |
等你的最新版本上架販售後,再發起轉移。
準備轉移
根據 Apple 的說明頁面,以下事項要在按下按鈕前處理好:
- 全部備份。App 會離開你的帳號:匯出中繼資料、價格、上架日期、銷售和下載資料。
- 關掉 TestFlight。移除所有建置版本和所有測試人員,並清空每種語言的 Test Information 欄位。群組的運作方式請看 TestFlight 指南。
- 清空 Xcode Cloud,如果有 App Replacement entitlement,也要透過一次已發布的更新把它移除。
- 訂閱:分享 App 專用的共用密鑰。販售自動續訂型訂閱的 App 必須使用 App 專用的共用密鑰。你先產生它、交給接收方,再發起轉移。接收方在接受前更新自己的伺服器,轉移完成後再產生新的密鑰。
- Sign in with Apple:解除群組並準備識別碼。下面會詳細說明。
- Webhook:做決定。它們會跟著 App 走。如果你不想再收到事件,就先刪除,或讓接收方重新導向。
金錢方面有兩個影響要知道。根據 Small Business Program 頁面,App 在該日曆年度的淨收入會算進所有發起或接受轉移的帳號。所以 100 萬美元的門檻,雙方都要把這個 App 算進去:請看 15% 的佣金。另外,轉移後就不能再為這個 App 建立任何促銷代碼:現有代碼在建立後四週內仍然有效。
轉出方的步驟
只有帳號持有人(Account Holder)可以發起轉移。他需要接收方持有人的 Apple ID,以及接收帳號的 Team ID。根據發起轉移的說明:
- 在 Apps 中選擇該 App。
- 在側邊欄的 General 底下點 App information,然後往下捲到 Additional Information。
- 點 Transfer App。系統可能會要求你輸入雙重認證碼。
- 如果所有條件都符合,點 Continue。否則點 Cancel,把缺的東西補齊。
- 輸入接收方持有人的 Apple ID 和 Team ID,然後點 Continue。
- 閱讀條款,勾選同意方塊,再點 Request Transfer。
- 點 Done。
App 會保留原本的狀態,另外多一個 Pending App Transfer 標示。這段期間你不能再修改它的中繼資料、價格、上架狀態和 App 內購買項目。與 App Review 進行中的對話會被關閉。
接收方的步驟
只有接收帳號的持有人可以接受,期限是 60 天。根據接受轉移的說明:
- 登入 App Store Connect:會有提示告訴你有 App 待轉移。
- 打開 Business:提示會出現在 Agreements 中。
- 在 App Transfers 底下點 Review。
- 填寫支援網址、行銷網址和隱私權政策網址(如果 App 原本有的話),以及 App Review 和 App Store 的聯絡人。
- 在 User Access 中選擇團隊裡哪些人看得到這個 App。
- 在 App privacy 中沿用或重新填寫前任擁有者的回答。如果沒有回答,你要在下一個版本之前補齊。
- 閱讀條款,勾選同意方塊,再點 Accept。
轉移會進入 Processing App Transfer 狀態,最多兩個工作天。如果 App 需要出口文件,會經過 Waiting for Export Compliance。完成後兩位持有人都會收到通知,App 也會從轉出方的帳號消失。接著接收方要建立新的佈建描述檔,綁定這個 App 的 App ID 和它的發布憑證:請看 iOS 憑證與描述檔。
只要狀態還是 Waiting for Recipient,雙方都可以取消:轉出方在 Business 的 App Transfers 區塊點 Cancel Transfer,接收方點 Decline。
哪些會跟著 App 走,哪些會壞掉
| 項目 | 轉移後 | 要做的事 |
|---|---|---|
| Bundle ID 和 App ID | 會跟著走,萬用字元 App ID 會變成明確 App ID | 不用做什麼 |
| 評分、評論、更新 | 會跟著走,App 繼續販售 | 不用做什麼 |
| 自動續訂型訂閱 | 需要 App 專用的共用密鑰 | 事前交出密鑰,事後重新產生 |
| iCloud | 資料、容器和鍵值識別碼會跟著走 | 更新 entitlement 中的鍵值識別碼 |
| Sign in with Apple 的 Service ID | 會跟著走,除非你事先移除關聯 | 轉移識別碼要在 60 天內交換 |
| Webhook | 會跟著走 | 事前刪除,或事後重新導向 |
| 推播通知 | 憑證在到期前仍然有效 | 接收方的 APNs 金鑰,更新伺服器 |
| 共用鑰匙圈 | 在下一次更新前都能運作 | 用接收方的 Team ID 重建群組 |
| App Groups | App 仍可使用 | 轉出方刪除群組,接收方重新註冊 |
| Apple Pay | merchant ID 不會跟著走 | 下次更新前建立新的 merchant ID |
| Wallet 票卡 | 由 App 更新的票卡必須重新發行 | 新的識別碼 |
| 促銷代碼 | 不能再建立新代碼 | 舊代碼有效四週 |
| 銷售與付款 | 轉出方保留轉移前的,接收方取得轉移後的 | 發起前先匯出 |
| App Analytics | 轉出方失去存取權,接收方取得歷史資料 | 不用做什麼 |
| 推薦提名、bundle 歷史紀錄 | 不會跟著走 | 發起前記下來並交給對方 |
鑰匙圈特別需要注意。Apple 提醒:更新後,App 會找不到存放在共用鑰匙圈裡的登入權杖,使用者必須重新登入一次。如果你的 App 和其他 App 或延伸功能共用鑰匙圈,發布這次更新前先通知你的使用者。
Game Center 的群組、合併排行榜和配對規則,都要由接收方重新設定。Mac Catalyst App 要分兩階段轉移,先轉 iPad App。
Sign in with Apple:轉移識別碼
使用 Sign in with Apple 時,每位使用者的識別碼是你的團隊專屬的。接收方不能直接沿用。Apple 關於轉移使用者的文件分成三個階段:
- 解除 App 的群組。為了 Sign in with Apple 而和其他 App 設為群組的 App 無法轉移。
- 為每位使用者產生一個轉移識別碼。用在
user.migrationscope 下取得的權杖,帶著使用者的識別碼和接收方的 Team ID 呼叫usermigrationinfo端點。回應中會有一個transfer_sub。 - 只交出轉移識別碼。不要交出你團隊的識別碼,也不要交出私密電子郵件地址。
你可以在接受前產生這些識別碼,或在接受後 60 天內產生。接收方在接受後有 60 天可以把它們換成自己的識別碼。發起轉移前就要規劃好這次交換。另一個影響:如果某位使用者沒有使用你的其他 App,轉移後你就不能再寄信到他的私密地址。登入規則請看 4.8 準則。
要記住的期限
| 階段 | 期限 |
|---|---|
| 接收方接受 | 發起後 60 天 |
| 接受後的處理 | 最多兩個工作天 |
| 交換 Sign in with Apple 識別碼 | 接受後 60 天 |
| 現有促銷代碼 | 建立後四週 |
| 轉移的 APNs 憑證 | 到憑證到期日為止 |
我針對 Expo + RevenueCat App 的清單
以下是我會依序檢查的事項,套用在我自己的 App 上:
- 匯出銷售、下載和分析資料,再發起轉移。
- 等待最新版本上架販售,且 App 內購買項目處於允許的狀態。
- 關掉 TestFlight:建置版本、測試人員和 Test Information。
- 交出 App 專用的共用密鑰,然後發起轉移。
- 接收方在接受後:產生新的共用密鑰,填入所有驗證訂閱的服務,包括 RevenueCat。根據 App Store Connect 說明,App 內購買金鑰在 Users and Access 的 Integrations 分頁中建立,而且只能下載一次。
- 檢查 App 頁面中的伺服器通知網址。Apple 的轉移頁面沒有提到這點:與其假設,不如親自確認。
- 在接收方帳號中重建描述檔和 APNs 金鑰。Expo App 的做法請看 用 Expo 設定 APNs 推播憑證。
- 發布一次由新帳號簽署的更新,如果有共用鑰匙圈,要預先告知使用者需要重新登入。
發布時不弄壞原本能用的東西
iOS & Android Kit 以我的 App 的起始程式碼為基礎,用四個步驟帶你走到 App Store,照你自己的步調進行。完整流程請看在 App Store 上架 App 頁面。
在改動任何東西之前,先做免費診斷:它會幫你把步驟排好順序,並寄給你我的 Apple 防退件檢查清單。
常見問題
App Store 的 App 轉移需要多久?
接收方有 60 天可以接受。接受之後,Apple 表示處理最多需要兩個工作天。如果 App 需要出口文件,會多一個驗證步驟。
轉移期間 App 會從 App Store 消失嗎?
不會。App 在轉移期間和轉移後都會繼續販售。它會保留評分、評論和 Bundle ID,使用者也會繼續收到更新。
轉移後訂閱者還會保有訂閱嗎?
Apple 沒有提到訂閱者會中斷。唯一的要求是 App 專用的共用密鑰:轉出方事先交出,接收方更新伺服器,轉移後再產生新的密鑰。
從未上架的 App 可以轉移嗎?
不行。App 必須至少有一個版本已在 App Store 上架。它也不能處於預購中或審查中。
誰可以發起和接受 App 轉移?
只有帳號持有人,也就是 Account Holder。轉出方需要接收方持有人的 Apple ID 和接收帳號的 Team ID。
App 轉移可以取消嗎?
可以,只要狀態還是 Waiting for Recipient。轉出方在 Business 的 App Transfers 區塊點 Cancel Transfer,接收方點 Decline。如果沒有回應,轉移會在 60 天後失效。

