大家都知道蘋果目前審核時要求應用內(nèi)不能出現(xiàn)提示升級的功能。
我們?nèi)绾巫隹梢岳@過蘋果的審核呢?
一般解決方法就是服務端做一個接口開關(guān),在審核的時候關(guān)閉這個開關(guān),等審核通過的時候再打開這個開關(guān),客戶端就可以提示用戶升級。
本文提供一種不需要服務器支持的方法.
主要思路:
我們向AppleStore發(fā)起一個查詢app信息的請求。然后根據(jù)返回值中的數(shù)據(jù),來判斷當前版本是否需要更新。由于app最新的信息是在審核通過后才能獲取到,而審核期間獲取到的是上一個發(fā)布版本的信息,所以也就不會在app內(nèi)出現(xiàn)提示更新的功能了。我司的產(chǎn)品一直在使用這個功能,沒有被拒的風險。說明:
所有非界面操作均放到global線程中來執(zhí)行,因此不需要再進行線程操作。
其中使用了SKStoreProductViewController
這個類,可以在app內(nèi)部彈出appstore界面。參數(shù)說明:
appleID
:需要通過此參數(shù)發(fā)起請求,必須要賦值
curAppVersion
當前app版本,判斷是否需要更新,必須賦值
controller
本方法中使用了UIAlertController
和SKStoreProductViewController
.在彈出這兩個界面時,需要提供一個controller。使用:
使用時將SDUpdate
目錄拷貝并添加到工程中。
SDUpdate *updater = [SDUpdate shareInstance];
updater.appleID = @"xxxx";
updater.curAppVersion = @"5.3.0";
updater.controller = self;
[updater begin];
完整demo請查看我的GitHub
如果幫到你了,請不吝點贊-