iOS打包上線(xiàn)遇到的問(wèn)題記錄和解決辦法:
ERROR ITMS-90034
ERROR ITMS-4236
ERROR ITMS-90717
1. ERROR ITMS-90034:"Missing or invalid signature.The bundle'com.xxx.xxx' at bundle path 'Payload/xxx' is not signed using an Apple submission certificate."

這個(gè)錯(cuò)誤顯示我們 沒(méi)有使用符合蘋(píng)果規(guī)范的證書(shū)簽名App 而導(dǎo)致的。
接下來(lái)我們就一步一步的檢查證書(shū)到底哪里出了問(wèn)題:
-
打開(kāi)鑰匙串,找到對(duì)應(yīng)的生產(chǎn)證書(shū),確保證書(shū)已經(jīng)添加到鑰匙串中,并且顯示證書(shū)有效。
證書(shū)有效否 -
如果顯示
此證書(shū)的簽發(fā)者無(wú)效:- 證書(shū)是通過(guò)你打包電腦申請(qǐng)簽發(fā)的,檢查是否有過(guò)期的根證書(shū),把所有顯示已過(guò)期的證書(shū)
全部刪除。
顯示已過(guò)期的證書(shū)
刪除所有過(guò)期的證書(shū) -
證書(shū)是別人通過(guò)P12的方式轉(zhuǎn)給你的,看看私鑰是不是沒(méi)有,可以從簽發(fā)P12的電腦再重新導(dǎo)出一份。像下面這個(gè)證書(shū)沒(méi)有小箭頭就表示沒(méi)有私鑰。
沒(méi)有私鑰
- 證書(shū)是通過(guò)你打包電腦申請(qǐng)簽發(fā)的,檢查是否有過(guò)期的根證書(shū),把所有顯示已過(guò)期的證書(shū)
-
點(diǎn)擊證書(shū)-->顯示簡(jiǎn)介-->信任,如果此處,不是使用系統(tǒng)默認(rèn),就進(jìn)行更改成“使用系統(tǒng)默認(rèn)”。
信任證書(shū)
上面這些操作應(yīng)該就能解決問(wèn)題了,可以打包重新upload試試。
2. ERROR ITMS-4236:"Invalid value '2019-08-16 14:23:22' for bundle_version" at SoftwareAssets"
之前App的測(cè)試版本,為了方便知道更新時(shí)間,Build版本號(hào)是通過(guò) Run Script 動(dòng)態(tài)注入了一個(gè)時(shí)間格式,如下:

事實(shí)證明,不讓這樣用,哈哈,乖乖的改回了 2.2.2 。
3. ERROR ITMS-90717:"Invalid App Store Icon. The App Store Icon in the asset catalog in '****.app' can't be transparent nor contain an alpha channel."
錯(cuò)誤原因:應(yīng)用圖標(biāo)不能有透明度或者包含Alpha 通道。
- 讓美工去掉圖片的透明度。
-
自己修改圖片的Alpha 通道選項(xiàng)為 否。預(yù)覽->文件->導(dǎo)出為PNG,取消選中。如下圖
alpha






