升級Xcode8后提交App遇到的坑

雖然 Xcode8 已經(jīng)出來很久,但是為了保證App的穩(wěn)定性,避免打包上傳過程中出現(xiàn)不必要的麻煩,一直使用 Xcode7.2 來打包。昨晚提交新版本的時(shí)候我嘗試使用 Xcode8 來打包,發(fā)現(xiàn)還真有問題。

使用 Xcode8.1 打包后導(dǎo)出 ipa,打開 Application Loader 3.1 選擇ipa開始上傳(以前一直都是用這個(gè)版本上傳),開始上傳到上傳成功一搬用時(shí)10來分鐘左右,可這次就不一樣了,校驗(yàn)ipa包用時(shí)超過了半個(gè)多小時(shí),而且還有錯(cuò)誤,提示內(nèi)容如下

ERROR ITMS-90596: "Invalid Bundle. The asset catalog at

'Payload/xxx.app/Assets.car' can't be read. Try rebuilding the app with a

non-beta version of Xcode and submit it again."

如圖一:

圖一

意思是說無法讀取包里面的信息,建議使用非beta版的Xcode進(jìn)行打包再次上傳。實(shí)際上是因?yàn)槲掖虬腦code版本太高,造成低版本的 Application Loader 無法讀取數(shù)據(jù),我猜就是這個(gè)問題,然后換最新版本的 Application Loader 上傳,但是新問題又出現(xiàn)了,錯(cuò)誤提示如下

ERROR ITMS-4238: "Redundant Binary Upload. There already exists a binary upload with build version '3.2.6' for train '3.2.6'" at SoftwareAssets/PreReleaseSoftwareAsset

如圖二:

圖二

提示我們提交的版本已經(jīng)存在,好吧,我只能更改內(nèi)建版本號(build)重新打了包。打包后使用了最新版本的 Application Loader 上傳,這次終于把包順利的上傳完成。

此處經(jīng)過3個(gè)多小時(shí)的等待。。。。。。。。。。。。。。。

平時(shí)ipa包上傳成功后,在 iTunes Connect 的構(gòu)建版本處出現(xiàn)一個(gè)加號,點(diǎn)擊加號就可看到上傳成功的包,一般這個(gè)時(shí)間是10分鐘到3小時(shí)不等,但是我已等了3個(gè)多小時(shí),我再次在Xcode中更改了項(xiàng)目的內(nèi)建版本號,打包上傳,又上傳成功了,不過最后有個(gè)警告,因?yàn)槠綍r(shí)提交的時(shí)候也有警告,所以我也沒太注意,無非說ipa包太大或一些其他警告,所以我直接點(diǎn)擊完成。

由于當(dāng)時(shí)已很晚,上傳成功后我就休息去了,想著明天起來后在提交。

新的一天開始了,上班后第一件事就是打開 iTunes connect ,昨晚上傳的兩個(gè)包,確實(shí)已經(jīng)顯示提交成功,但是為何過了這么久構(gòu)建版本中還未出現(xiàn)上傳的包,以前確實(shí)沒出現(xiàn)過這種情況。這個(gè)時(shí)候我們公司的同事提醒我去看一下郵件(由于蘋果賬號的郵箱不是我保管,郵箱領(lǐng)導(dǎo)使用)。

郵件內(nèi)容如圖三:

圖三

郵件里面反饋了兩個(gè)問題,第一個(gè)問題是 Info.plist 缺少 NSAppleMusicUsageDescription 這個(gè) Key,原因是這樣的 iOS 10 開始對隱私權(quán)限更加嚴(yán)格,如果你不設(shè)置就會(huì)直接崩潰,我們項(xiàng)目中用到了相機(jī)、相片、定位等功能,相應(yīng)的Key也已經(jīng)添加到了 Info.plist 當(dāng)中,測試和使用也并未發(fā)現(xiàn)崩潰的情況,甚至上傳包的時(shí)候也未報(bào)警告,初步判斷根本原因不是這個(gè)原因,但是我還是把 NSAppleMusicUsageDescription 這個(gè) Key 添加到了Info.plist 中。我查了一下關(guān)于獲取用戶隱私權(quán)限的幾個(gè) Key,如果你不確定你該填哪些Key,直接把所有的都添加進(jìn)去即可如圖四。

圖四

第二個(gè)警告

?ERROR ITMS-90176:"Unrecognized Locale - The directory located at ( 'Payload/NFPlus.app/xxx.bundle/cn.lproj' ) has an unrecognized locale name. Refer to the Language and Locale Designations guide for more information on naming your language-specific directories."

如圖五:

圖五

原因是我們項(xiàng)目中有個(gè)很老的框架做了本地化功能,文件cn.lproj文件無法識(shí)別,我去查看了蘋果的開發(fā)文檔后發(fā)現(xiàn)中文簡體的本地化文件名應(yīng)該命名為 zh-Hans.lproj 而不是 cn.lproj 。

好了,經(jīng)過一番折騰之后,把這倆個(gè)問題解決了,接下來就是見證奇跡的時(shí)刻,重新打包上傳,上傳成功如圖,說明上傳是真的沒有問題了。

圖六

等待10分鐘左右刷新 iTunes Connect 頁面,構(gòu)建版本那里終于出現(xiàn)了久違的加號,如圖七

圖七

點(diǎn)擊加號選擇剛上傳的 ipa 包,點(diǎn)擊保存再點(diǎn)擊提交審核,至此,所有的問題已解決,接下來就是等待蘋果審核了。

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

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

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