赞
踩
WWDC大会刚开过,我就升级了手机系统(我的iPhone是15年购买的6 Plus),iOS 11的beta版真特么卡,建议7以下的手机不要升级了。
手机升级了,那么开发者工具Xcoder也需要升级才能驾驭iOS11,我勒个去,也是很卡。还就就是带来一些列的开发问题,随便举个例子,导航栏增加了高度增加了,导致VC中的tableview向下移动了20,所以要做iOS 11的适配。然而,你会问我为什么急急忙忙的升级?现在我认真的回答你----手贱。
已经升级了,根据小伙伴们的反应,版本退不回去,只好硬着头皮去适配去开发。先给开发朋友们踩踩路。so,今天只谈一项:iOS 11的ATS相关问题。
iOS 11情况下AFNetworking 3.0如果不配置AFSecurityPolicy是工作不了的。
(1)从服务器端下载.crt文件,比如文件名叫 serverSecurity.crt
(2) 将文件转成.cer文件.终端命令:openssl x509 -in serverSecurity.crt -out https.cer -outform der 注意:https是一个文件名,可以换成别的名字
(3)导入.cer文件到项目 。导入的时候注意选中target
(4) 配置ACNetWorkManager的securityPolicy属性,贴代码:
NSString *cerPath = [[NSBundlemainBundle] pathForResource:@"https"ofType:@"cer"];
NSData *certData = [NSDatadataWithContentsOfFile:cerPath];
AFSecurityPolicy *securityPolicy = [AFSecurityPolicypolicyWithPinningMode:AFSSLPinningModeCertificate];
securityPolicy.allowInvalidCertificates =YES;
securityPolicy.pinnedCertificates = [NSSetsetWithObject:certData];
securityPolicy.validatesDomainName =YES;
manager.securityPolicy = securityPolicy;
总结:(1)配置过程不难
(2)Apple不再向开发者妥协
(3)iOS应用越来越安全
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。