1. 按照?http://www.reibang.com/p/aed96e11fe36?生成xcode工程后編譯cronet_static_framework target會生成靜態(tài)庫 Static/Cronet.framework,
2. 將Cronet.framework 引入自己的xcode工程廷蓉,并添加以下依賴
CFNetwork.framework
CoreTelephony.framework
MobileServices.framework
Security.framework
SystemConfiguration.framework
UIKit.framework
libresolv.dylib
3. 在自己的xcode工程中修改 other linker flags 添加 -lstdc++
4. 引入<Cronet/Cronet.h>
代碼如下
? ? [Cronet setQuicEnabled:YES];
? ? [Cronet setBrotliEnabled:NO];
? ? [Cronet addQuicHint:@"quic.rocks" port:4433 altPort:4433];
? ? [Cronet start];
? ? [Cronet registerHttpProtocolHandler];
https://quic.rocks:4433/ 是用來測試通訊協(xié)議的服務
正常發(fā)送http請求,cornet會攔截[NSURLSession sharedSession]的請求
- (void)sendQuicRequest{
? ? NSURLSession *session = [NSURLSession sharedSession];
? ? NSURLSessionDataTask* task = [session dataTaskWithURL:[NSURL URLWithString:@"https://quic.rocks:4433/"] completionHandler:^(NSData * _Nullable jsonData, NSURLResponse * _Nullable response, NSError * _Nullable error) {
? ? ? ? NSString* str = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
? ? ? ? NSLog(str);
? ? }];
? ? [task resume];
}
5. Cronet.framework 在app中的實際size為5.5M问词,對許多app來說太大森爽,需要精簡