iOS BundleID 重復(fù)完美解決

前言:時間過得真快,轉(zhuǎn)眼就過了一周了。終于把問題給解決了,這里一定要總結(jié)一下,告訴大家一個小秘密——蘋果挖了一個坑。這個坑到底有多大呢,請往下面看(如果你的解決辦法是更換一個BundleID,請略過本文?。?。

此圖片來自網(wǎng)絡(luò)

問題描述:Bundle Identifier重復(fù)(Bundle Identifier以下簡稱BID)
Bundle Identifier重復(fù)

詳細問題描述:準備上架AppStore的時候,創(chuàng)建BID竟然重復(fù)了。提示

There were errors in the data supplied. Please correct and re-submit.
An App ID with Identifier 'com.XXXX.XXXX' is not available. Please enter a different string.

這個BID是我們公司內(nèi)部規(guī)范的命名,按道理說是不應(yīng)該重復(fù)的。別的公司肯定不會用這個BID的(蘋果是用com.apple.XXXX),這個BID只可能是我們同事在做真機調(diào)試的時候Xcode自動生成的。我一般會做一個通用的BID,例如:com.XXXX.*(強烈建議使用此通配BID)。但是如果設(shè)備沒有包含到這個BID所在的描述文件中的話,而你也要去調(diào)試這個設(shè)備,那么通用BID也是徒勞的,那么就有兩種方式:
1,去開發(fā)者官網(wǎng)證書管理中添加設(shè)備,包含到描述文件中,
2,在Xcode中自動注冊設(shè)備,生成證書。
如果趕時間并且這臺設(shè)備不用于開發(fā),第二種選擇無疑是最合適的。
有人說BID重復(fù)了直接去開發(fā)者賬號里面刪除了不就行了嗎,哪有這么費勁?換個BID也可以呀!我這里講的是不換BID的解決方法,如果你是想去換BID,那么就不要往下面看了(因為我們這個項目的BID綁定了一些SDK,更換SDK的BID就要二次收費,你以為我不想換個BID嗎~~)。

解決方案:
  • 你的賬號屬于開發(fā)者賬號。
    如果你是交了保護費的,那么你是可以直接進到蘋果的開發(fā)者官網(wǎng)進行管理證書,把重復(fù)的BID刪除即可。(這是我個人的理解,后面你就知道為什么這樣說了)
  • 你的賬號不屬于開發(fā)者賬號。

如果你不交保護費,那么你只能很麻煩的去打蘋果的開發(fā)者客服官網(wǎng)電話4006701855,然后就是靜靜的聽歌吧!當歌曲變成噔噔噔的正常接通電話聲音的時候就有人喊你了。(溫馨提示:撥打之前確定有充足的時間和話費~~)!
注意:隨著2018年6月5日開發(fā)者大會的召開,不能直接撥打蘋果開發(fā)者客服電話,需要到開發(fā)者官網(wǎng)點擊右上角支持->聯(lián)系我們->選擇問題后填寫手機號,蘋果開發(fā)者客服會主動給你打電話

蘋果開發(fā)者客服官方電話

這里可能蘋果會對你做一些驗證,問你Apple ID和名字,如果你說你不是這個Apple ID的用戶的話,蘋果可能就不鳥你了,那你就要找一個人來說這個Apple ID是他的名下,要不蘋果是不受理你的請求的。(經(jīng)測試不是本人的也可以,你不能一個人自導(dǎo)自演吧)

蘋果會發(fā)郵件告訴你確定刪除嗎,你回復(fù)確定刪除就OK了。我以為到這里就結(jié)束了,然而我去添加之前的那個ID的時候竟然還是同樣的提示。
這是什么問題呢?蘋果的系統(tǒng)出了Bug了嗎,我再次撥打客服電話,無盡的等待之后,我告訴他們這個問題。他們的反饋是系統(tǒng)是不可能出現(xiàn)這個問題的。如果有這個重復(fù)BID的提示那說明是真的有這個BID,系統(tǒng)是不可能出這個bug的。
于是我和同事設(shè)想了幾個問題:
1,我提供的這個BID可以全局查詢嗎
2,之前重復(fù)的BID確實已經(jīng)刪除了嗎
3,蘋果開發(fā)者管理中心的證書系統(tǒng)有問題,刪除了之后還是提示未刪除問題
4,如果是開發(fā)者賬號,Xcode自動創(chuàng)建的BID會不會在開發(fā)者中心看不到
蘋果進行了1,2,3的回答,我對3進行了嚴重的懷疑,由于我的語氣比較強硬,客服說讓我在等幾分鐘(我說我已經(jīng)等了很久了,這幾分鐘不算什么),顯然他是進行了一些努力,然后我又開始聽歌了。之后蘋果回復(fù)說之前有這樣的案例,確實刪除成功了。他也無能為力,強烈建議我改BID了。于是我提出了問題4,貌似客服聽的不太懂,我重復(fù)了幾遍之后他還是有點茫然,然后就這樣掛斷了電話。

無奈之下還是只能自己去找一些方法查詢,蘋果幫你無法幫你查詢其他Apple ID下的BID,我們這邊有很多開發(fā)者賬號,你只能查詢你本人的,即使你找同事來幫忙也很麻煩。經(jīng)過查找資料,發(fā)現(xiàn)Xcode中竟然可以看到BID(我使用的Xcode 8.3,新版的Xcode 9是看不到的,不知道蘋果為何取消了這個功能。步驟是:Xcode添加開發(fā)者賬號,點擊想要查看的開發(fā)者賬號,選中Personal Team,點擊View Details... 即可查看),我喜出望外,趕緊去嘗試了一番。這樣最起碼可以先排除一下不是開發(fā)者賬號的Apple ID,然而并沒有發(fā)現(xiàn)我們查找的那個BID。下面這個是我測試用的,確實會在Apple ID中生成一個證書文件。(要慎用)
勾選Xcode的auto真機調(diào)試

又對【4】進行了懷疑,然后逐個查找了開發(fā)者賬號,發(fā)現(xiàn)某個開發(fā)者賬號下竟然存在我們查找的那個BID,我再次去開發(fā)者官網(wǎng)的那個賬號中查找,發(fā)現(xiàn)還是看不到我要找的那個BID。(到這里發(fā)現(xiàn)蘋果還是很強大的,員工也很自信)
重大發(fā)現(xiàn)——Xcode中確實看到了這個BID
真實存在的BID

我再次在Xcode中打開那個開發(fā)者賬號,發(fā)現(xiàn)那個BID又不在了,很奇怪的問題。然后又去Xcode自動設(shè)置證書那里查看這個Team的證書文件和BID,發(fā)現(xiàn)下圖
勾選Xcode的自動真機調(diào)試處查看BID

下面看一張Xcode真機調(diào)試的圖片
真機調(diào)試自動生成的證書和BID
處理:

因為蘋果只能在某個賬戶里定向查詢某個BID,所以還是需要打電話問下蘋果開發(fā)者客服,經(jīng)過漫長的等待,(等待時間記得找個同事或者你自己扮演那個開發(fā)者賬號的擁有者,我告訴同事先問是否存在我們查詢的這個BID,如果存在就刪除掉,So Easy?。?,蘋果問了幾個簡單的問題之后,發(fā)了一個郵件,讓你確認刪除那個BID,告訴蘋果郵件中的案例編號,他就可以幫你刪除那個BID了。我說先別掛電話,我看看是否能重新創(chuàng)建這個BID,果然成功了!至此也算圓滿成功了,但是心中有幾個問題還是沒有得到解決。

疑問:

1,不是開發(fā)者賬號創(chuàng)建了這個BID,刪除之后我立馬創(chuàng)建這個新的BID,為什么還是不能創(chuàng)建?
2,那個開發(fā)者賬號里是怎么跑出來這個BID的,這個BID不是唯一標志嗎?
3,開發(fā)者賬號里為什么看不到這個BID?
4,如果個人去注冊com.apple.XXX的BID,不是占用了蘋果的BID嗎?(簡書里看過某人用runtime獲取到了安裝在手機里App的BID)
帶著這幾個問題想去問下蘋果,等待之后,接通了電話,告訴我需要詳細描述問題,必須之前的Apple ID本人在場才可以。然后我就只能果斷放棄了。

猜想:

開發(fā)者賬號里有2個Team,一個是公司的Team,一個是個人的Team,如果證書文件是在個人的Team中,是不是就看不到呢?
有知道的可以評論區(qū)留言,有興趣的可以嘗試下,有想要占用BID的可以先去占用,萬一哪天庫克要收購你的BID呢!!!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容