iOS App的遷移

最近完成了App從個人開發者賬號遷移到公司開發都賬號上來,并實現了App的版本升級。在這個過程中,為了不影響用戶的使用,我到處查找資料,技術群咨詢,卻發現幾乎沒有人把遷移中的疑惑給說個清楚明白。在此我總結一下。

App的遷移

總的來說App從一個賬號遷移到另一個賬號一般有兩種方法可用:

1.把App從舊的Apple ID上下架,用新的Apple ID上重新上架。 這樣老用戶就必須要刪除舊App,下載新App,一般都不采納。

2.在舊Apple ID上把App轉讓給新的Apple ID上來。具體參考文章

?這樣就可以不影響老用戶的使用。但是這樣轉讓過來的Apple ID,除了包名Bundle ID是跟著轉讓過來而存在,其他的開發證書,推送證書,上架證書等都是空的,因此我們開發者就必須要重置所有配置。那這樣的話我們如何考慮舊版的兼容性了?即老用戶不升級,老用戶還是從舊Apple ID上下載的App,新用戶又是在新的Apple ID上下載的最新版的App,如何做兼容(請看下面的兼容性)。

轉讓不符合條件

在App轉讓中,大部分條件一般都可以滿足,最常見的應該就是?TestFlight Beta版測試?不符合條件如圖

TestFlight Beta 版測試 不符合條件

其實這個的意思是說在App項目中有一個功能是TestFlight,這項中存在著構建版本號信息處在活躍狀態,我們必須要清空或者說關閉了這個狀態才能轉讓。如圖

構建版本號?

可以看到相應的版本號要多久之后才能過期,我們只要把這些版本號都設置成過期就可以了

將構建版本設為過期

然后再去轉讓就可以正常地進行了。

那么這個TestFlight是怎么回事了?

其實我們每次從Xcode打包上傳App Store時就會創建一個構建版本,一般情況大家都在上傳成功后直接選擇提交審核就完了,沒有去關心這個上傳的包是不是一直都可用。而上傳的包有效可用的期間為90天,這90天都屬于TestFlight Beta測試期。在這期間,配置的測試員和群組就可以對其進行測試,為了讓測試正常進行,就不能更改Apple ID,就不能進行轉讓。

兼容性

當App成功轉讓到新的Apple ID上時,我們發現新的Apple ID的開發者中心除了Bundle ID是遷移過來了,其他開發證書,發布證書,推送證書和描述文件,測試手機都是空的,因此在新的Apple ID上升級版本就需要把證書、描述文件等重置一下了。

如果我們要兼容舊Apple ID上的老用戶他們不更新,而新的Apple ID上又會有新用戶,那我們的推送功能能實現新老用戶的同時使用嗎?還有人說老用戶版本升級還需要刪除舊包才能安裝新包,這個需要嗎?

為此我還專門打了蘋果開發者電話進行詢問。然后上架后還進行了升級測試和推送測試,結果如下:

1.舊Apple ID上下載的應用,在轉讓后已經更新成新的Apple ID了,可以實現完美升級

2.我用舊的配置的推送證書進行推送測試,發現不管是舊版本,還是新版本都可以成功收到推送

3. 同理新重置的推送證書也可以跟新舊版本進行推送

總結置問題

蘋果把App轉讓遷移處理得很好,不需要我們去擔心Apple ID的變動和證書的重置問題。所以遷移App采用轉讓遷移的方式是最好。

希望對你有用!

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容