APICloud 云修復(fù)(iOS)更新包下載完成后重啟App

使用APICloud SuperWebview云修復(fù)來更新H5代碼修改內(nèi)容時,更新包下載完成,點擊提示框的重新啟動按鈕后,還需手動重啟App,才能看到更新內(nèi)容,這樣對用戶來說有些麻煩,所以做了如下解決方案。
  更新包下載完成后,如果用戶允許重啟App,則關(guān)閉App,自動打開瀏覽器(如Safari),窗口提示是否跳轉(zhuǎn)App,選擇確定跳轉(zhuǎn)按鈕,則會跳轉(zhuǎn)到App,此時widget包就是最新的。代碼如下:

  • OC
//AppDelegate.m文件
@interface AppDelegate ()<APISmartUpdateDelegate>

@end

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [APIUpdateManager manager].smartUpdateDelegate = self;
}

#pragma mark - APISmartUpdateDelegate
- (void)didSmartUpdateFinished:(NSArray
*)packages {
    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue
    (), ^{
        abort();
    });
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"http://yixianglife.com/open.html"]];//鏈接是H5開發(fā)寫的,代碼如下
}

  • H5
<!DOCTYPE html>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta name="viewport" content="width=device-width,minimum-scale=1.0">
    <title>Mobile Safari調(diào)用本地APP,否則進(jìn)入App Store下載
</title>
<meta name="keywords" content="Mobile Safari 調(diào)用本地APP,否則進(jìn)入AppStore下載" />
<meta name="description" content="Mobile Safari 調(diào)用本地APP,否則進(jìn)入AppStore下載" />
<script type="text/javascript">
/** 
瀏覽器版本信息
* @type {Object}
* @return {Boolean} 
返回布爾值
*/
function browser() {
    var u = navigator.userAgent.toLowerCase();
    var app = navigator.appVersion.toLowerCase();
    return {
        txt: u, //瀏覽器版本信息
        version: (u.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/) ||[])[1], //版本號
        msie: /msie/.test(u) && !/opera/.test(u), // IE內(nèi)核
        mozilla: /mozilla/.test(u) && !/(compatible|webkit)/.test(u), //火狐瀏覽器
        safari: /safari/.test(u) && !/chrome/.test(u), //是否為safari
        chrome: /chrome/.test(u), //是否為chrome
        opera: /opera/.test(u), //是否為oprea
        presto: u.indexOf('presto/') > -1, //opera內(nèi)核
        webKit: u.indexOf('applewebkit/') > -1, //蘋果、谷歌內(nèi)核
        gecko: u.indexOf('gecko/') > -1 && u.indexOf('khtml') == -1, //火狐內(nèi)核
        mobile: !!u.match(/applewebkit.*mobile.*/), //是否為移動終端
        ios: !!u.match(/\(i[^;]+;( u;)? cpu.+mac os x/), //ios終端
        android: u.indexOf('android') > -1, //android終端
        iPhone: u.indexOf('iphone') > -1, //是否為iPhone
        iPad: u.indexOf('ipad') > -1, //是否iPad
        webApp: !!u.match(/applewebkit.*mobile.*/) && u.indexOf('safari/') == -1 //是否web應(yīng)該程序,沒有頭部與底部
    };
}
var timeout;
function open_appstore() {
var b=browser();
if(b.ios||b.iPhone||b.iPad) {
window.location="
itms-apps://itunes.apple.com/app/異享生活/id1116877164?l=zh&ls=1&mt=8";
} else if(b.android) {//}
}
function try_to_open_app() {
var b=browser();
if(b.ios||b.iPhone||b.iPad) {
window.location="Yixianglife://";
} else if(b.android) {//}
timeout = setTimeout(
'open_appstore()', 30);
}
try_to_open_app();
</script>
</head>
<body>
</body>
</html>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,614評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,319評論 25 708
  • 新疆行第二天:離開滿眼青翠的多山重慶,我們來到了四川。似乎是到了另一個世界,連空氣好像也清新得令人驚喜。沒有城市的...
    夢覺C歡喜舍閱讀 220評論 0 1
  • 核心單詞(15個) 1、code number 2、contract 3、fax 4、popular 5、uncl...
    浸泡一種心情閱讀 183評論 0 0
  • 夜風(fēng)在嗚咽 窗戶沙沙作響 期盼春日的暖陽 趕走漫長的黑 被窩里的溫度越來越低 暖器片不再有熱氣 午夜驚醒時 微涼 ...
    楊顏閱讀 708評論 0 2

友情鏈接更多精彩內(nèi)容