蘋果App轉讓(A賬號轉讓給B賬號)要點:
1,登錄A賬號猴抹,進入 我的App,選擇要轉讓的App锁荔;
2蟀给,進入App Store->App 信息->額外信息->轉讓App,跳轉到XXX-轉讓App頁面阳堕;
3跋理,檢查是否符合轉讓條件,確保TestFlight Beta 版本已經設置為過期嘱丢,否則不可轉讓薪介;
4,所有轉讓的條件都符合后越驻,選擇"繼續(xù)"汁政,進入接收者信息填寫頁面,填寫接收者團隊代理人Apple ID和團隊ID缀旁;
Apple ID:B賬號
Team ID: B賬號對應的team id (Team ID可以在開發(fā)者中心Membership中查看到)
5记劈,勾選“本人已閱讀并同意上文顯示的條款”,點擊 “請求轉讓”
轉出方操作到此結束并巍,此時進入到這個被轉出App信息頁面目木,可以看到提示“請查看詳細信息或取消此轉讓”
6,登錄B賬號懊渡, 登錄后刽射,可以看到提示“App轉讓請求正在等待接受”,點擊“協(xié)議剃执、稅務和銀行業(yè)務”誓禁,進入相關頁面;
7肾档,Transfer Agreements->Contracts In Process 中會列出等待接受轉讓的App摹恰,點擊“Review”,填寫相關信息怒见;
8俗慈,填寫完畢,勾選“本人已閱讀并同意上文顯示的條款”遣耍,點擊“Accept"闺阱,然后點選7中的"Done";
轉入方的接收操作到此結束。
可以使用新的賬號發(fā)行App配阵,建立TestFlight內測版本:
** 不需要在新的賬戶(member center)下手動創(chuàng)建distribution provisioning profile馏颂,但是需要創(chuàng)建push certificates (后面解釋)
9示血,創(chuàng)建一個版本或平臺,并使用Xcode提交相應的版本救拉;
10难审,點擊進入TestFlight,有黃色箭頭亿絮,提示此App缺少出口合規(guī)證明告喊,點開后,有選項派昧,選擇擇否黔姜,然后可以開始內測;
11蒂萎,從App Store下載TestFlight秆吵,輸入測試人員郵箱接收到的郵件中的關鍵信息(Beta外部測試版需要提交審核,內測版本不需要)五慈,然后可以下載測試版本進行測試纳寂;
已知問題:
1, 將來在App Store中顯示的App的所有人信息泻拦,只有在這個賬號第一次在App Store Connect中填寫信息時會被問到毙芜,以后則不可更改;
2争拐,安裝B賬號發(fā)行的新版App后腋粥,雖然會將原來的App覆蓋掉,但是架曹,原來A賬號發(fā)行的App保存在Keychain中的信息新的App是讀取不到的隘冲。這一點也可以由使用B賬號提交審核版本到App Store時,提交完畢時彈出的warning中了解到:Potential Loss of Keychain Access —— This will result in a loss of keychain access. 賬戶ID+BundleID唯一確定一個keychain绑雄。
3对嚼,安裝使用新賬號發(fā)行的App后的推送情況:
a) 推送服務器端使用舊證書,新App在不重新登錄的情況下绳慎,能夠收到推送(因為舊的App沒有執(zhí)行l(wèi)ogout,push token漠烧,device id都沒有變化杏愤,可以正常接收推送)
b) 推送服務器端使用舊證書,新App重新登錄后已脓,不能收到推送(特意查看了數據庫珊楼,發(fā)現(xiàn)登錄新版App后push表中從apple獲取的push token保持不變,但是App唯一的device id換成了新的度液,由于此時沒有有效的push證書厕宗,因此設備收不到推送)
c) 推送服務器端替換新的證書画舌,新安裝的App能收到推送
上面加**的內容,一開始給我造成了困惑已慢。
1曲聂,push certificates,push證書不用說佑惠,肯定是需要重新在新的賬號里創(chuàng)建朋腋,并替換到push服務器上的;
2膜楷,讓我困惑的是distribution provisioning profile旭咽。開始,我沒有給轉讓過來的app重新在新的賬戶(member center)中手動創(chuàng)建profile(因為打包時沒錯赌厅,我就忘了這個事了)穷绵。后來查看member center的distribution profiles時,發(fā)現(xiàn)怎么沒有呢特愿?但是發(fā)行的過程和新版下載安裝使用的過程也沒毛病爸倌?然后我對比了一下我在member center上手動創(chuàng)建的新的profile和Xcode自動創(chuàng)建的profile洽议,發(fā)現(xiàn)基本內容都一致宗收,有個區(qū)別就是profile文件里會標示出文件來源:
// xcode創(chuàng)建的profile(General中填入Bundle ID,Signing中選擇Team后亚兄,Xcode自動創(chuàng)建profile)
<key>IsXcodeManaged<key>
<true/>
但是對應的member center上手動生成并下載來安裝的profile里混稽,這個key對應的值是false。
另外审胚,這兩個profile的UUID不同匈勋,每次xcode創(chuàng)建一個profile,產生的文件的UUID都是唯一的膳叨。
從member center上下載到的profile洽洁,拷貝到另外的機器上,安裝后菲嘴,就可以用來打包饿自,不知道xcode自動生成的這種是否也能如此操作。
但是龄坪,值得注意的是昭雌,xcode自動生成的profile,應該只是本地的健田,所以member center上不可見烛卧。
起初我以為這種xcode自動創(chuàng)建的profile會不包含push,但是在xcode自動創(chuàng)建新的profile后妓局,在Singing->Provisioning Profile后面可以查看這個profile的info总放,可以看到Capabilities中包含push呈宇,而且使用上也確實沒有遇到push相關的問題。
因此局雄,Xcode Version 9.4.1 (9F2000) (從8.x以上開始)已經可以自動管理profile了甥啄,是不是以后都可以省去在member center手動創(chuàng)建distribution profile了呢?
如何找到Xcode自動創(chuàng)建的profile呢?
~/Library/MobileDevice/Provisioning\ Profiles/
但是里面有很多啊,UUID開為文件名哎榴,一個個找肯定不現(xiàn)實~型豁,發(fā)現(xiàn)了一個很贊的方法,以前都不知道唉
打開Xcode尚蝌,點General->Signing->Provisioning profile Xcode managed profile后面的info迎变,顯示出來當前profile的內容,然后飘言,第一行左上角profile文件的圖標衣形,直接拖到控制臺,就可以看到這個文件的path了~~~~~