天天看點

iOS開發 證書被删除之後該怎麼處理

  前言:昨天客戶突然抛出了個問題,說是APP收不到推送消息,當時感覺會比較棘手,但經過實踐也是比較容易解決的,在這裡把解決問題的經過分享出來,希望對遇到同樣問題的同學有幫助。

原因描述: 剛開始處理這個問題的時候,首先想到的是推送證書過期了,然後登陸客戶的公司開發者賬号檢視,當打開證書頁面的時候,心裡第一反應是“窩草,誰在搞事情啊!”,誰把證書删掉了,裡面一個證書都沒有(包括開發證書,釋出證書,開發推送證書,釋出推送證書),然後點開APP對應的APPID檢視狀态,很顯然Push Notifications的狀态為Configurable(意思就是推送不可用,需要配置),緊接着點開Provisioning Profiles(配置檔案),APP的釋出和開發配置檔案都已失效。

解決思路:要想APP能推送其實很簡單,重新建立證書和配置檔案,把新的推送證書(我們的背景是java寫的,需要把推送證書下載下傳到本地,導入到鑰匙串,再右鍵導出p12檔案,這個p12檔案就是給背景的。再詳細的就不在這展開了,到時候再另寫一篇部落格)更新到背景,還有更新APP的配置檔案,這樣就可以收到推送想消息了。當證書和配置檔案都搞好并更新後的确是能收到推送消息的。重點來了:由于之前沒處理過這樣的問題,是以開始想到的是:“更新背景的p12和更新APP的配置檔案後,APP可能也要重新上架,不然收不到推送消息”,但後來重新在APPStore上下載下傳APP後,是能收到推送消息的,是以說就算上架的APP證書和配置檔案過期或被删除後,也不影響客戶的使用,隻需要建立推送證書并更新到背景就可以了。剛開始之是以擔心APP要重新上架更新的原因是:該APP緊限于内部使用,是不能上架到APPStore的,之前之是以能上架,可能是比較幸運或者是之前的稽核沒那麼嚴格,但現在明确是不能上架内部應用到APPStore的,隻能通過企業賬号(申請會比較麻煩且花時間)釋出内部應,是以剛開始就是擔心要上架更新APP,最終經過實踐是不需要重新上架了。