最近完成了App從個人開發(fā)者賬號遷移到公司開發(fā)都賬號上來窖式,并實現(xiàn)了App的版本升級港柜。在這個過程中刘陶,為了不影響用戶的使用胳赌,我到處查找資料,技術(shù)群咨詢易核,卻發(fā)現(xiàn)幾乎沒有人把遷移中的疑惑給說個清楚明白匈织。在此我總結(jié)一下浪默。
App的遷移
總的來說App從一個賬號遷移到另一個賬號一般有兩種方法可用:
1.把App從舊的Apple ID上下架牡直,用新的Apple ID上重新上架。 這樣老用戶就必須要刪除舊App纳决,下載新App碰逸,一般都不采納。
2.在舊Apple ID上把App轉(zhuǎn)讓給新的Apple ID上來阔加。具體參考文章
?這樣就可以不影響老用戶的使用饵史。但是這樣轉(zhuǎn)讓過來的Apple ID,除了包名Bundle ID是跟著轉(zhuǎn)讓過來而存在,其他的開發(fā)證書胜榔,推送證書胳喷,上架證書等都是空的,因此我們開發(fā)者就必須要重置所有配置夭织。那這樣的話我們?nèi)绾慰紤]舊版的兼容性了吭露?即老用戶不升級,老用戶還是從舊Apple ID上下載的App尊惰,新用戶又是在新的Apple ID上下載的最新版的App讲竿,如何做兼容(請看下面的兼容性)。
轉(zhuǎn)讓不符合條件
在App轉(zhuǎn)讓中,大部分條件一般都可以滿足弄屡,最常見的應(yīng)該就是?TestFlight Beta版測試?不符合條件如圖
其實這個的意思是說在App項目中有一個功能是TestFlight题禀,這項中存在著構(gòu)建版本號信息處在活躍狀態(tài),我們必須要清空或者說關(guān)閉了這個狀態(tài)才能轉(zhuǎn)讓膀捷。如圖
可以看到相應(yīng)的版本號要多久之后才能過期迈嘹,我們只要把這些版本號都設(shè)置成過期就可以了
然后再去轉(zhuǎn)讓就可以正常地進行了。
那么這個TestFlight是怎么回事了全庸?
其實我們每次從Xcode打包上傳App Store時就會創(chuàng)建一個構(gòu)建版本江锨,一般情況大家都在上傳成功后直接選擇提交審核就完了吃警,沒有去關(guān)心這個上傳的包是不是一直都可用。而上傳的包有效可用的期間為90天啄育,這90天都屬于TestFlight Beta測試期酌心。在這期間,配置的測試員和群組就可以對其進行測試挑豌,為了讓測試正常進行安券,就不能更改Apple ID,就不能進行轉(zhuǎn)讓氓英。
兼容性
當App成功轉(zhuǎn)讓到新的Apple ID上時侯勉,我們發(fā)現(xiàn)新的Apple ID的開發(fā)者中心除了Bundle ID是遷移過來了,其他開發(fā)證書铝阐,發(fā)布證書址貌,推送證書和描述文件,測試手機都是空的徘键,因此在新的Apple ID上升級版本就需要把證書练对、描述文件等重置一下了。
如果我們要兼容舊Apple ID上的老用戶他們不更新吹害,而新的Apple ID上又會有新用戶螟凭,那我們的推送功能能實現(xiàn)新老用戶的同時使用嗎?還有人說老用戶版本升級還需要刪除舊包才能安裝新包它呀,這個需要嗎螺男?
為此我還專門打了蘋果開發(fā)者電話進行詢問。然后上架后還進行了升級測試和推送測試纵穿,結(jié)果如下:
1.舊Apple ID上下載的應(yīng)用下隧,在轉(zhuǎn)讓后已經(jīng)更新成新的Apple ID了,可以實現(xiàn)完美升級
2.我用舊的配置的推送證書進行推送測試谓媒,發(fā)現(xiàn)不管是舊版本淆院,還是新版本都可以成功收到推送
3. 同理新重置的推送證書也可以跟新舊版本進行推送
總結(jié)置問題
蘋果把App轉(zhuǎn)讓遷移處理得很好,不需要我們?nèi)腁pple ID的變動和證書的重置問題篙耗。所以遷移App采用轉(zhuǎn)讓遷移的方式是最好迫筑。
希望對你有用!