關(guān)于APP首次運(yùn)行時(shí),在請求數(shù)據(jù)權(quán)限之前webView請求不成功的解決辦法

在看了這位大神的分析之后(http://www.itdecent.cn/p/6cbde1b8b922),我打算采用網(wǎng)易嚴(yán)選的方式來解決,

首先,本人項(xiàng)目中用的是WKWebView,所以在webview請求失敗的代理方法里加入了以下代碼:


在隱藏webview之后,顯示一個(gè)按鈕,給按鈕添加action來reload


reload

效果大概是這樣的:


QQ20170927-162142-HD


既然看了那篇文章,就順帶記一下判斷首次運(yùn)行APP和APP更新后首次運(yùn)行的代碼吧:

轉(zhuǎn)載請標(biāo)明出處:http://blog.csdn.net/loving_ios/article/details/50435840

方法一、在didFinishLaunchingWithOptions方法中加入如下代碼:

if(![[NSUserDefaultsstandardUserDefaults]boolForKey:@"firstLaunch"]){

[[NSUserDefaultsstandardUserDefaults]setBool:YESforKey:@"firstLaunch"];

//第一次啟動(dòng)

}else{

}

方法二、判斷app是否第一次啟動(dòng)或者更新后第一次啟動(dòng)

#define?LAST_RUN_VERSION_KEY?@"last_run_version_of_application"

-?(BOOL)?isFirstLoad{

NSString*currentVersion?=?[[[NSBundlemainBundle]infoDictionary]

objectForKey:@"CFBundleShortVersionString"];

NSUserDefaults*defaults?=?[NSUserDefaultsstandardUserDefaults];

NSString*lastRunVersion?=?[defaultsobjectForKey:LAST_RUN_VERSION_KEY];

if(!lastRunVersion)?{

[defaultssetObject:currentVersionforKey:LAST_RUN_VERSION_KEY];

returnYES;

}

elseif(![lastRunVersionisEqualToString:currentVersion])?{

[defaultssetObject:currentVersionforKey:LAST_RUN_VERSION_KEY];

returnYES;

}

returnNO;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

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

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