天天看點

iOS9企業部署分發問題深入了解與解決

我們都知道ios8企業分發有個bug,就是當因為某種原因更改manifest檔案(plist檔案)後,導緻“無法現在安裝程式” 的bug,解決方法就是把plist檔案中的bundle-identifier随便加個字尾即可安裝成功,比如org.skyfox.cient 改成了org.skyfox.client8

,因為ios8之前是不校驗manifest plist中bundle-identifier是否和app的真實bundle id相同,是以好用哦耶!(并且還得考慮比如七牛這樣的服務商cdn緩存問題

重新整理緩存)

然而好景不長,ios9釋出後蘋果封堵了這個解決方案(其實蘋果并不知道到 這個bundle-identifier坑了多少童鞋啊! ),進行bundle-identifier校驗,是以之前的解決方法完全不通!。提示資訊如下!

iOS9企業部署分發問題深入了解與解決

無法下載下傳應用程式 此時無法安裝

很長時間都會校驗失敗 導緻無法安裝,同樣會提示 ”無法下載下傳應用程式 此時無法安裝“。檢視log變成了 “ignore manifest download, already have bundle id”,證明猜想正确

那麼究竟是根據什麼規則進行緩存的plist檔案那,接下來我用ifunbox等工具打開了裝置的檔案系統,發現最後找到了一個download.28sqlitedb資料庫,當中記錄了app bundle id 對應的plist等資訊,bundl id恰好是錯誤的plist中的bundl id,但這并不能得出結論緩存了plist檔案,找了找沒找到存在什麼地方,感興趣的可以找找!!  目測是在類似目錄:/var/mobile/library/caches/

iOS9企業部署分發問題深入了解與解決

download.28sqlitedb資料庫表

iOS9企業部署分發問題深入了解與解決

download.28sqlitedb資料庫

假如我的安裝位址是: itms-services://?action=download-manifest&url=https://www.skyfox.org/cient.plist

步驟:

多次更改client.plist中的bundle-identifier ,

或者更改 url位址為“https://www.skyfox.org/cient.plist?随機數”

或者更改 url位址為“https://www.skyfox.org/cient.plist?time=随機數”

或者同時更改等方法

有人說也可以重新開機裝置 緩存即可消失,本人測試無效!

多次實驗得出結論,蘋果裝置是根據plist檔案url進行緩存

解決方法 即 “url變更為 https://www.skyfox.org/cient.plist?随機數”或者每次都更改plist檔案的域名啊 位址啊 等等方法!

如果您有其他不同意見可以随時聯系我改正