應對17年app store審核https的iOS網絡修改策略

iOS 9 AFNetworking3.x 使用整理 (https)

簡述

AFNetworking 是輕量級的網絡庫侨糟,使用它 非常方便碍扔。以前使用AFNetworking 1.x 訪問 https 只是 配置一個宏,但最近升級AFNetworking 3.x 訪問 https接口 時出現(xiàn)了各種問題 如code =9813 的這種錯誤 秕重,解決過程也是在網上查的結果不同,各種的試還是不成功。主要是 忽略了證書的導入溶耘,和 AFNetworking 的AFSecurityPolicy配置不正確二拐。所以你 一定要記得去向 服務器開發(fā)人員和部署人員 要證書,要不肯定不行凳兵。百新。。

導入 AFNetworking

方式 1:

下載AFNetworking, 解壓后把里面的 AFNetworking 文件夾拖入你的項目

方式 2:

當然你也可以使用cocopod 將AFNetworking 加載到你的項目庐扫。在命令行 cd 到你工程的主目錄下輸入命令 vi Podfile 饭望,即創(chuàng)建 Podfile 文件,并寫入 以下:

   platform :ios, '7.0'
   pod "AFNetworking"
記得關閉xcode形庭,然后再輸入命令* pod install *即可將AFNetworking 導入到你的工程

導入 cer 證書

向服務器要配置服務器時 生成的.crt 文件 然后在命令行輸入命令 : openssl x509 -in server.crt -out client.cer -outform der 將生成 的.cer 文件導入你的工程(直接拖入即可)

使用


封裝
最好對 AFNetworking 進行簡單的封裝 铅辞,這樣可以對網絡請求相關的統(tǒng)一管理。如:

//
//  ZXJAppHTTPClient.h
//  AFNetworkingDemo
//
//  Created by zhangxiaojing on 16/1/13.
//  Copyright ? 2016年 XXX. All rights reserved.
//

#import <AFNetworking/AFNetworking.h>

@interface ZXJAppHTTPClient : AFHTTPSessionManager
+ (instancetype)sharedUserSVRClient;
+ (instancetype)sharedHtmlSVRClient;

@end

注意

設置AFSecurityPolicy 的模式一定得是AFSSLPinningModePublicKey碘勉,這樣才會允許無效的非官方的內置證書請求通過巷挥。如:

+ (instancetype)sharedUserSVRClient {
    static ZXJAppHTTPClient *sharedUserSVRClient = nil;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        sharedUserSVRClient = [[ZXJAppHTTPClient alloc] initWithBaseURL:[NSURL URLWithString:kParAPIBaseUserServiceURLString]];
        sharedUserSVRClient.securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModePublicKey];        sharedUserSVRClient.securityPolicy.allowInvalidCertificates = YES;  
    });

    return sharedUserSVRClient;
}

使用實例 1 -json


    [[ZXJAppHTTPClient sharedUserSVRClient] POST:loginApiPort parameters:dictParLogin progress:nil success:^(NSURLSessionDataTask * __unused task, id JSON)
    {
        NSLog(@"成功 返回:\n%@\n",(NSDictionary *)JSON);
    } failure:^(NSURLSessionDataTask *__unused task, NSError *error) {
        NSLog(@"%@",error);
    }];

使用實例 2 -html

ios9 webview 訪問https 網址,各種坑验靡,直接使用 afnetworking 簡單易用:

  [[NSURLCache sharedURLCache] removeAllCachedResponses];
    [[NSURLCache sharedURLCache] setDiskCapacity:0];
    [[NSURLCache sharedURLCache] setMemoryCapacity:0];
    [[ZXJAppHTTPClient sharedHtmlSVRClient] POST:@"test.html" parameters:nil progress:nil success:^(NSURLSessionDataTask * __unused task, id responseObject) {
        NSLog(@"成功 ");         
        self.webView.delegate =self;
        [self.webView loadData:responseObject MIMEType:@"text/html" textEncodingName:@"UTF-8" baseURL:[NSURL URLWithString:@"https://baseUrl/test.html"]];    

    } failure:^(NSURLSessionDataTask *__unused task, NSError *error) {      
        NSLog(@"失敗 %@",error);
    }];

注:文章轉錄自CSDNRoselind的小屋倍宾,僅供大家參考使用 http://blog.csdn.net/qq_16086969/article/details/50543378

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末雏节,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子高职,更是在濱河造成了極大的恐慌钩乍,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,544評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怔锌,死亡現(xiàn)場離奇詭異寥粹,居然都是意外死亡,警方通過查閱死者的電腦和手機埃元,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評論 3 392
  • 文/潘曉璐 我一進店門涝涤,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人岛杀,你說我怎么就攤上這事阔拳。” “怎么了类嗤?”我有些...
    開封第一講書人閱讀 162,764評論 0 353
  • 文/不壞的土叔 我叫張陵糊肠,是天一觀的道長。 經常有香客問我遗锣,道長货裹,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,193評論 1 292
  • 正文 為了忘掉前任精偿,我火速辦了婚禮弧圆,結果婚禮上,老公的妹妹穿的比我還像新娘还最。我一直安慰自己墓阀,他們只是感情好毡惜,可當我...
    茶點故事閱讀 67,216評論 6 388
  • 文/花漫 我一把揭開白布拓轻。 她就那樣靜靜地躺著,像睡著了一般经伙。 火紅的嫁衣襯著肌膚如雪扶叉。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,182評論 1 299
  • 那天帕膜,我揣著相機與錄音枣氧,去河邊找鬼。 笑死垮刹,一個胖子當著我的面吹牛达吞,可吹牛的內容都是我干的。 我是一名探鬼主播荒典,決...
    沈念sama閱讀 40,063評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼酪劫,長吁一口氣:“原來是場噩夢啊……” “哼吞鸭!你這毒婦竟也來了?” 一聲冷哼從身側響起覆糟,我...
    開封第一講書人閱讀 38,917評論 0 274
  • 序言:老撾萬榮一對情侶失蹤刻剥,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后滩字,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體造虏,經...
    沈念sama閱讀 45,329評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,543評論 2 332
  • 正文 我和宋清朗相戀三年麦箍,在試婚紗的時候發(fā)現(xiàn)自己被綠了漓藕。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,722評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡挟裂,死狀恐怖撵术,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情话瞧,我是刑警寧澤嫩与,帶...
    沈念sama閱讀 35,425評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站交排,受9級特大地震影響划滋,放射性物質發(fā)生泄漏。R本人自食惡果不足惜埃篓,卻給世界環(huán)境...
    茶點故事閱讀 41,019評論 3 326
  • 文/蒙蒙 一处坪、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧架专,春花似錦同窘、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,671評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至委刘,卻和暖如春丧没,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背锡移。 一陣腳步聲響...
    開封第一講書人閱讀 32,825評論 1 269
  • 我被黑心中介騙來泰國打工呕童, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人淆珊。 一個月前我還...
    沈念sama閱讀 47,729評論 2 368
  • 正文 我出身青樓夺饲,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子往声,可洞房花燭夜當晚...
    茶點故事閱讀 44,614評論 2 353

推薦閱讀更多精彩內容

  • 這篇文章是我一邊學習證書驗證一邊記錄的內容茫蛹,稍微整理了下,共扯了三部分內容: HTTPS 簡要原理烁挟;數(shù)字證書的內容...
    左邊飛來一只狗閱讀 3,292評論 2 5
  • 一婴洼、簡單談談ATS(App Transport Security) ATS(App Transport Secur...
    JW_T閱讀 3,739評論 0 5
  • 原文地址 http://blog.csdn.net/u012409247/article/details/4985...
    0fbf551ff6fb閱讀 3,521評論 0 13
  • iOS9推出的時候,蘋果希望大家使用https協(xié)議撼嗓,來提高數(shù)據傳輸之間的安全性柬采。下面我就從最簡單的代碼介紹,如何在...
    小楓123閱讀 600評論 0 1
  • 今天在奧體走了好遠 腰一直疼且警,需要買個好椅子粉捻。 吃什么不重要,重要的是你吃飯的時候想起了誰斑芜,或者是誰吃到美味的時候...
    青崗閱讀 212評論 0 0