iOS 中線上的App 可以分為企業(yè)版本和App Store版本
企業(yè)版的更新
現(xiàn)象:iOS企業(yè)版證書到期導致APP 無法訪問卿堂,也就是閃退現(xiàn)象
原因:用企業(yè)版帳號簽名的APP祝旷,它的provisioning profile(預配置文件)有效期是1年震缭;
-
敲黑板 :我還注意到一個問題,provisioning profile是打包進ipa的席怪,它在里面寫明了APP使用的有效期(創(chuàng)建時間应闯,過期時間和使用期限),至于具體是什么時間挂捻,與打包日期有關碉纺,與創(chuàng)建這個provisioning profile的時間有關。
對于provisioning profile已經(jīng)過期的APP,再次打包時骨田,選擇cerficate后耿导,provisioning profile中的時間就是當前打包的時間;但是對于那些provisioning profile還沒有過期的APP态贤,再次打包還是使用舊的provisioning profile舱呻,creationTime(ExpirationDate)還是之前創(chuàng)建或者update時的時間。這個過期時間有可能與在member center上這個APP中查看到的時間不一致(有可能是生成了新的provisioning profile后悠汽,并沒有安裝到Xcode中)- 還有一種情況箱吕,如果APP沒有特殊的capabilities,那么就可以使用通用的provisioning profile柿冲,這個通常是XC:*茬高,它的時間也是一年有效期。
- 因此假抄,如果不能十分確定每一個打出來的ipa的有效期(過期時間)怎栽,而又需要關注它具體什么時候需要強制用戶update,最好是在要發(fā)行的ipa生成之后宿饱,查看其中的provisioning profile熏瞄。具體方法
1.解壓ipa:右鍵把.ipa包改成.zip 然后解壓;
2.進入解壓后生成的Payload目錄;
3右鍵app->顯示包內(nèi)容
4.找到文件:embedded.mobileprovision
5.用查看文本文件的工具打開這個文件谬以,并轉換編碼為UTF-8
-
解決辦法:必須在到期之前做一下工作(體驗好一點就是强饮,前一個版本就做好更新)
A. 更新企業(yè)證書 描述文件
1.首先登陸Apple Developer官網(wǎng)開發(fā)者賬號登陸。登錄網(wǎng)址[https://developer.apple.com/](https://developer.apple.com/)點擊Account輸入賬號登錄
2.點擊Certificates, IDs & Profiles
3. 點擊Provisioning Profile 下面的ALL
4.找到即將過期的Provisioning Profile蛉签,點擊Edit
5.點擊Generate
6.下載更新的Provisioning Profile文件胡陪,重新打包即可
7.安裝下載好的Provisioning Profile文件
敲黑板:對于還沒過期的證書,如果選擇Automatically manage signing 打包碍舍,Xcode只會用舊的provisioning profile,creationTime(ExpirationDate)還是之前創(chuàng)建或者update時的時間 進行打包
只能用指定描述文件的打包方式才可以
B. 更新推送證書
推送證書都是獨立申請的 的證書都是開了推送權限而已
那么理論上是推送證書過期用戶那邊會爆一個aps證書的錯誤 可是官網(wǎng)上的推送證書是可以多個的
因此最保險的做法是 先添加一個推送證書和原來的共存 這時候上新版本 原來的過期以后刪除掉那個證書
1.刪除MAC上鑰匙串訪問中對應的推送證書邑雅。
2.登錄蘋果開發(fā)者后臺片橡,刪除已過期推送證書(mac上刪除之后可能會消失),并下安裝到Mac鑰匙串訪問中淮野。
3.然后為對應App ID生成新的推送生產(chǎn)證書捧书,點擊App IDs
找到rider.app,然后點擊編輯按鈕
4.進入如下頁面,找到create certificate,點擊該按鈕
5.點擊continue
6.選擇本地的CSR證書提交
7.生成本地CSR文件步驟骤星,找到鑰匙串经瓷,點擊屏幕左上角的”鑰匙串訪問”->”證書助理”->”從證書頒發(fā)機構請求證書”
8.點擊下載
9.點擊下載后找到我們剛才下載的.cer文件,直接雙擊
10.右擊我們的證書洞难,選擇“導出
11.選擇我們需要保存的地方舆吮,要注意下面的文件格式選擇“.p12”格式的
12.進去推送平臺,找到你的app,重新上傳就可以
- C. 重新配置文件并打包
喝杯茶先,接下就講講App Store 相關的證書更新
證書過期是不影響App Store色冀,已經(jīng)安裝的可以正常使用潭袱,也還可以從App Store下載。(除非你的開發(fā)者賬號過期了锋恬,那得續(xù)費了)
過期的話屯换,直接revork過期的證書,然后重新生成證書和Provisioning Profile文件与学,打包重新上架即可彤悔!
影響到是推送的證書而已,推送的制作還是跟企業(yè)版版推送證書過期一樣索守,重新制作蜗巧,上傳到對應的推送平臺即可。