大家在項目開發的即將結束的時候,肯定要遇到一個問題就是:如何保留一個項目版本更新的功能,以待使用者登入軟體侯,如有新版本,能有相關的提示更新。
首先簡單說一下,當我之前開發項目的安卓版本時,所找到的有兩種實現方式:
1,android官方伺服器push更新,通過推送實現更新,這個貌似在天朝支援不太好,估計好多人都沒有使用。
2,通過第三方push服務。後台定義好頒布號,名稱,更新內容,通過第三方push服務的介面。當應用登入成功後,一同發給用戶端,應用解析出version相關欄位內容,與本現成版本比較,如果有新內容,彈出提示之,點擊http下載指定url的新版本。(具體百度搜尋push服務即可)。
現在,當開發的項目是ios頒布時,思考它的更新方式會是什麼樣子,無非就是這兩種:
1,登入成功,後台發給最新的版本號碼,名稱,最新內容,然後與當前應用的版本作比較,如有新版本,彈出提示,同時連結到新頒布的appstore url下載更新替換之。
2,非常簡單的實現方式:
擷取原生版本,然後解析Apple網站的 版本號碼,直接對比,不一樣就讓他升級。
從http://itunes.apple.com/lookup?id=<Your app ID>得到JSON資料,裡麵包含版本資訊,比較一下就可以了。
(關於這個app ID:去apple上填寫發布程式時,會產生app id)
得到的json資料:蘋果會返回應用對應的所有資訊,直接在登入請求時,儲存這些版本資訊,如有更新時,直接使用提示就行了,(點選連結到appStore)不過記得每次更新時把本地的版本號碼(變數)更新了。
3,利用apple的push服務,實現頒布更新的功能。這個需要利用push 服務,目前我應用還不太需要push 訊息,所以沒有接觸過,等以後再補充把。
總結而言:第一種方法比較傳統化,需要依賴後台發送版本的相關資訊,然後提供AppStore下載路徑。而第二種方法比較是利用appstore強大的功能,直接存取當前軟體的store,通過得到的軟體資訊,來實現更新,依賴與app ID,顯而易見,後者比較方便,並且不容易出錯,方便版本隨時隨地更新。
具體使用效果,等我過一陣親自嘗試後發圖。