iOS10 从2017年1月1日起苹果提出所有新提交的App默认不允许使用NSAllowsArbitraryLoads来绕过ATS的限制,也就是说强制我们用HTTPS,如果不这样的话提交App可能会被拒绝。或者你加入说明限制可能会过!

 一.关于证书

通常你们公司会有两种情况:

1.我们公司没钱,自己想办法搞证书,哈哈哈。是不是很苦逼,然后你就自行进行配置:参考其他博客 (这些还不知道苹果支持不支持,待定的)

2.你们公司很有钱,喔,大公司,like ours company;我们公司买的天威诚信的证书(普及一下,https证书加密,分为双向认证和单向认证,单向认证的都不需要客户端做什么)

首先我们去天威购买了证书。实际前端上什么都不需要处理。最多了你就在AFNet里边加安全性需要证书验证就行。

_sharedClient = [MssageAFNetRequest manager];

AFSecurityPolicy *securityPolicy = [AFSecurityPolicy policyWithPinningMode:AFSSLPinningModeCertificate];

securityPolicy.allowInvalidCertificates = NO;

securityPolicy.validatesDomainName = YES;

_sharedClient.securityPolicy = securityPolicy;

这时候你需要删除plist里边的安全设置的info.plist文件中添加AppTransportSecuritySettings字典,将NSAllowsArbitraryLoads设置为YES来禁用ATS。这个选项,大家都是过来人以前都是这样做的。

然后 ---------------------------分割线以下--------------------------

需要配置plist对兼容一些第三方啊或者不是https的请求域名加入http配置白名单,请求的网络图片是HTTP:

操作:

1)在项目info.plist中添加一个Key:App Transport Security Settings,类型为

Dictionary;

2)在其内添加一个Key: Exception Domains,类型为Dictionary;

3)在Exception Domains内添加要支持的域,其中域作为Key,类型为Dictionary;

4)每个域下面需要设置3个属性:类型为Boolean;

NSIncludesSubdomains  YES

NSExceptionRequiresForwardSecrecy  NO

NSExceptionAllowsInsecureHTTPLoads  YES

注意:每个需添加的域都需要设置此三个属性。如果请求的网络图片是HTTP,也是需要设置的图片的域。

 二.关于第三方配置


若果工程中涉及到第三方比如:友盟分享(集成的第三方分享),聊天的容云,bugly等。

你都需要重新配置或者看第三方的更新文档。比如微博的需要加入白名单的域名:

<key>sina.com.cn</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>sinaimg.cn</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>sinajs.cn</key> <dict> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>sina.cn</key> <dict> <key>NSExceptionMinimumTLSVersion</key> <string>TLSv1.0</string> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>weibo.cn</key> <dict> <!-- 适配iOS10 --> <key>NSExceptionMinimumTLSVersion</key> <string>TLSv1.0</string> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/> </dict> <key>weibo.com</key> <dict> <key>NSExceptionMinimumTLSVersion</key> <string>TLSv1.0</string> <key>NSIncludesSubdomains</key> <true/> <key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key> <true/> <key>NSThirdPartyExceptionRequiresForwardSecrecy</key> <false/>

谁让新浪的域名很多呢!其他的要自行配置...

IOS 10适配https 包含对于一些http的一些兼容配置的更多相关文章

  1. iOS 10 适配 ATS(app支持https通过App Store审核)

    iOS 10 适配 ATS 一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据 ...

  2. iOS 10 适配 ATS

    一. HTTPS 其实HTTPS从最终的数据解析的角度,与HTTP没有任何的区别,HTTPS就是将HTTP协议数据包放到SSL/TSL层加密后,在TCP/IP层组成IP数据报去传输,以此保证传输数据的 ...

  3. iOS开发 - 适配Https的野路子

    大致写下适配Https时遇到的坑,做完服务器迁移一直通宵到现在,表示无力再多做详解,只放一些常见问题的解决方案吧 问题一.Https请求失败 1. NetManager初始化时可参考如下设置(因为我没 ...

  4. # iOS 10 适配 # 适配刷新控件 以MJRefresh 为例

    在iOS10中ScrollView 添加了一个refreshControl的东西 - - 不知道水果公司做了什么  导致原有的刷新控件类刷新后frame.y 向下偏移了20 起初以为是水果调整了sta ...

  5. iOS 10正式发布:十大新功能,更注重人性化

    6月14日凌晨消息,苹果公司举行2016年WWDC全球开发者大会,介绍了watch OS.tv OS.OS X以及iOS 10系统的新特性. 据苹果介绍,iOS 10在锁屏.Siri.地图等十个各方面 ...

  6. iOS app 支持HTTPS iOS开发者相关

    2016年12月21日更新开发者中心链接https://developer.apple.com/news/?id=12212016b该链接是苹果昨天刚在官网给的正式回复 如下: App Transpo ...

  7. 关于 iOS 10 中 ATS / HTTPS /2017 问题

    本文于 2016 年 11 月 28 日按照 Apple 最新的文档和 Xcode 8 中的表现进行了部分更新. WWDC 15 提出的 ATS (App Transport Security) 是 ...

  8. iOS 10 版本适配问题收集-b

    随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使 ...

  9. iOS 10 的适配问题

    随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使 ...

随机推荐

  1. c++函数内部可以返回函数内部定义的指针 但是不能返回函数内部定义的数组

    1.返回数组 // demo.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include<stdio.h> char *m ...

  2. 带节假日JS万年历控件代码

    <form name="CLD" class="content"> <table width="100%" border= ...

  3. JAVA自学之-----FileInputStream类

    1, FileInputStream类函数创建: package coreJava; import java.io.FileInputStream; import java.io.IOExceptio ...

  4. 1007: [HNOI2008]水平可见直线

    先对a排序,a相等的话就对b排序: 维护一个栈,每次取栈的头两个,和当前的直线相比较: 如果当前的直线把头第一个屏蔽,就将他出栈,一直到不能屏蔽为止: 代码: #include<cstdio&g ...

  5. UVA 12647 Balloon

    这是一个线段树的题目: 我记得一个月前在cf上也做过一个类似的题目: #include<cstdio> #include<cstring> #include<algori ...

  6. 点点滴滴-ConfigurationManager.AppSettings

    在写程序的配置文件,里面添加了几个配置,下面是appSettings节点的设置 <appSettings> <add key="StyleFolder" valu ...

  7. 2013年最受欢迎的16个HTML5 WordPress主题

    本文中,我整理了16个最新.最受欢迎的WordPress主题,它们一致的特征是支持HTML5, 它们秉承最佳设计理念以及最新的流行趋势,将它们归纳与此,希望对喜欢HTML5,准备用WordPress做 ...

  8. SSH框架中配置Hibernate使用proxool连接池

    一.导入proxool.jar包 案例用的是proxool-0.8.3.jar,一般通过MyEclipse配置的SSH都会包含这个jar,如果没有,就去网上搜下下载导入就好了. 二.新建Proxool ...

  9. Android开发之AlertDialog

    http://www.cnblogs.com/Gaojiecai/archive/2011/12/10/2283156.html http://www.2cto.com/kf/201205/13187 ...

  10. PHP 'ext/gd/gd.c'信息泄漏漏洞

    漏洞版本: PHP 5.5.x 漏洞描述: CVE ID:CVE-2014-2020 PHP是一种HTML内嵌式的语言. PHP 'ext/gd/gd.c'没有检查数据类型,允许远程攻击者使用字符串或 ...