最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

判斷iOS應(yīng)用是否開放HTTP權(quán)限的方法

 更新時間:2016年03月24日 15:58:43   作者:郭宇翔  
這篇文章主要為大家詳細(xì)介紹了判斷iOS應(yīng)用是否開放HTTP權(quán)限的方法,感興趣的小伙伴們可以參考一下

從 iOS9 起,新特性要求 App 訪問網(wǎng)絡(luò)請求,要采用 HTTPS 協(xié)議。但是能不能判斷開發(fā)者是否允許 HTTP 的請求,這樣就不會在發(fā)起請求時候失敗同時彈出以下信息:

App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist file.

這個需求其實是最近在弄 HTTPDNS 相關(guān)的一些東西,只能通過 HTTP 接口請求,但是希望能判斷應(yīng)用是否允許了 HTTP 的訪問,如果允許才開啟 HTTPDNS 相關(guān)的功能。

解決方法比較簡單,其實就是讀取 info.plist 看看 NSAppTransportSecurity 是否為 YES。

Objective-C 實現(xiàn)

- (BOOL)isHTTPEnable {
 if([[[UIDevice currentDevice] systemVersion] compare:@"9.0" options:NSNumericSearch] != NSOrderedAscending){
 NSDictionary *infoDict = [[NSBundle mainBundle] infoDictionary];
 return [[[infoDict objectForKey:@"NSAppTransportSecurity"] objectForKey:@"NSAllowsArbitraryLoads"] boolValue];
 }
 return YES;
}

使用方法:

if ([self isHTTPEnable]) {
 NSLog(@"HTTP enable");
} else {
 NSLog(@"HTTP disable");
}

Swift 實現(xiàn)

func isHTTPEnable() -> Bool {
 let flag = UIDevice.currentDevice().systemVersion.compare("9.0.0", options: NSStringCompareOptions.NumericSearch)
 if (flag != .OrderedAscending) {
 guard let infoDict = NSBundle.mainBundle().infoDictionary else {
 return false
 }
 guard let appTransportSecurity = infoDict["NSAppTransportSecurity"] else {
 return false
 }
 guard let allowsArbitraryLoads = appTransportSecurity["NSAllowsArbitraryLoads"] else {
 return false
 }
 guard let res = allowsArbitraryLoads else {
 return false
 }
 return res as! Bool 
 }
 return true
}

使用方法:

if self.isHTTPEnable() {
 print("HTTP enable")
} else {
 print("HTTP disable")
}

原文鏈接:http://blog.yourtion.com/is-ios-app-enable-http.html

相關(guān)文章

  • WKWebView、WebView和JS的交互方式詳解

    WKWebView、WebView和JS的交互方式詳解

    這篇文章主要給大家介紹了關(guān)于WKWebView、WebView和JS的交互方式,文中通過示例代碼介紹的非常詳細(xì),對各位iOS開發(fā)者們具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-04-04
  • iOS自定義字體設(shè)置和系統(tǒng)自帶的字體詳解

    iOS自定義字體設(shè)置和系統(tǒng)自帶的字體詳解

    這篇文章主要給大家介紹了關(guān)于iOS自定義字體設(shè)置和系統(tǒng)自帶的字體的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-01-01
  • Objective-C中NSLog輸出格式大全

    Objective-C中NSLog輸出格式大全

    這篇文章主要介紹了Objective-C中NSLog輸出格式的相關(guān)資料,非常的簡單,有需要的小伙伴可以參考下。
    2015-06-06
  • iOS xib文件中添加ScrollView約束的方法

    iOS xib文件中添加ScrollView約束的方法

    下面小編就為大家分享一篇iOS xib文件中添加ScrollView約束的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • 簡述iOS屬性中的內(nèi)存管理參數(shù)

    簡述iOS屬性中的內(nèi)存管理參數(shù)

    這篇文章主要介紹了簡述iOS屬性中的內(nèi)存管理參數(shù) 的相關(guān)資料,需要的朋友可以參考下
    2018-02-02
  • Xcode中Info.plist字段詳解

    Xcode中Info.plist字段詳解

    我們通過本篇文章給大家整理了Xcode中Info.plist字段的詳細(xì)內(nèi)容,有需要的朋友學(xué)習(xí)下。
    2018-01-01
  • iOS當(dāng)多個網(wǎng)絡(luò)請求完成后執(zhí)行下一步的方法詳解

    iOS當(dāng)多個網(wǎng)絡(luò)請求完成后執(zhí)行下一步的方法詳解

    在多線程中,有時候我們會遇到一個界面同時有多個網(wǎng)絡(luò)請求(比如a,b,c,d四個網(wǎng)絡(luò)請求),在這四個個請求結(jié)束后,在請求到數(shù)據(jù)去做其他操作(UI更新等),下面這篇文章主要給大家介紹了關(guān)于iOS當(dāng)多個網(wǎng)絡(luò)請求完成后執(zhí)行下一步的相關(guān)資料,需要的朋友可以參考下。
    2017-12-12
  • iOS 10 推送高階篇(必看)

    iOS 10 推送高階篇(必看)

    本文重點給大家介紹ios10 推送的所有通知類,所以說這篇教程是ios10推送必看篇,感興趣的朋友快來一起學(xué)習(xí)吧
    2016-09-09
  • iOS 正則表達(dá)式詳解

    iOS 正則表達(dá)式詳解

    在ios中系統(tǒng)自帶的正則表達(dá)式用法大家都很清楚吧,除了正則可以用還有NSScanner這個類,下面小編給大家簡單介紹下
    2016-08-08
  • iOS實現(xiàn)循環(huán)滾動公告欄

    iOS實現(xiàn)循環(huán)滾動公告欄

    這篇文章主要為大家詳細(xì)介紹了iOS實現(xiàn)循環(huán)滾動公告欄,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-03-03

最新評論

明光市| 富川| 土默特左旗| 宜昌市| 鹤庆县| 邵阳县| 曲水县| 阜康市| 安康市| 新宾| 迭部县| 蒲城县| 安西县| 敦煌市| 巴塘县| 林周县| 永安市| 铜山县| 忻州市| 东城区| 汕头市| 达拉特旗| 鄯善县| 天峨县| 福州市| 岢岚县| 浪卡子县| 博爱县| 新巴尔虎右旗| 沭阳县| 民和| 马龙县| 佳木斯市| 精河县| 平顺县| 阳西县| 土默特右旗| 扶绥县| 图木舒克市| 汝南县| 钦州市|