iOS9网络适配

  今天升级Xcode7.0,发现网络访问失败。
  输出错误信息:The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.

  Google后查证,iOS9引入了新特性App Transport Security (ATS)。新特性要求App内访问的网络必须使用HTTPS协议:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL。采用TLS 1.2 协议,目的是强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2。

  服务器因此需要更新,以解析相关数据。但是现在公司的项目使用的是HTTP协议,使用私有加密方式保证数据安全,现在也不能马上改成HTTPS协议传输。如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求。

  现有两种解决方案:

  方案一:立即让公司的服务端升级使用TLS 1.2

  方案二:虽Apple不建议,但可通过在 Info.plist 中声明,倒退回不安全的网络请求依然能让App访问指定http,甚至任意的http,

      1.在Info.plist中添加NSAppTransportSecurity类型Dictionary

      2.在NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES

      3.清理缓存即可

时间: 2024-11-06 09:55:15

iOS9网络适配的相关文章

iOS9网络适配(ATS)

[转]iOS9 new_001:iOS9网络适配(ATS) 下载Xcode7打开APP后大家都发现自己的APP无法联网了,why? 苹果官方文档介绍如下: App Transport Security App Transport Security (ATS) enforces best practices in the secure connections between an app and its back end. ATS prevents accidental disclosure, p

iOS9网络适配_ATS:改用更安全的HTTPS

iOS9AdaptationTips iOS9适配系列教程[中文在页面下方] (截至2015年9月3日共有6篇,后续还将持续更新.更多iOS开发干货,欢迎关注 微博@iOS程序犭袁) For more infomation ,welcome to follow my twitter English 1. Demo1_You'd better Convert HTTP to HTTPS How to deal with the SSL in iOS9,One solution is to do l

iOS9应用适配,技Get

iOS9刚发布不久时,app在新的系统中会出现闪退的情况,app就iOS9的适配做了一些修改,以致用户体验性更好.特此做一下的总结和分享.主要从下面几点做的适配. 1.iOS9网络适配ATS-HTTP VS HTTPS 2.Bitcode 3.iOS9 URL Scheme 适配_引入白名单概念 4.字体间隙变大导致 UI 显示异常 5.地理位置 6.状态栏 7.联系人框架--Contacts VS AddressBook iOS9网络适配-HTTP VS HTTPS ATS——App Tran

iOS9.0适配

一.网络适配由http改成https 苹果官方对App Transport Security Technote的解释如下: 翻译成中文的意思就是说:iOS9.0SDK在编译的时候,默认所有从NSURLConnection.CFURL和NSURLSession发出的http请求,都改为https请求.由于AFNetworking版本底层是用了NSURLConnection,所以使用AFNetworking的app都将受到影响.对于这个问题的解决办法有三种,一:让服务器更新,使用https,以解析相

打开网络适配的两种方法

打开网络适配有两种方法 第一种是在Info.plist文件里添加XML代码 具体步骤:右击Info.plist文件 选择Open As里面的Source Code 然后在文件底部插入下面代码 [html] view plain copy <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 第二种

Demo1_iOS9网络适配_改用更安全的HTTPS

iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一 使用TLS 1.2 SSL.采用TLS 1.2 协议,目的是 强制增强数据访问安全,而且 系统 Foundation 框架下的相关网络请求,将不再默认使用 Http 等不安全的网络协议,而默认采用 TLS 1.2.服务器因此需要更新,以解析相关数据.如不更新,可通过在 Info.plist 中声明,倒退回不安全的网络请求. 在讨论之前,跟往常一样,先说下iOS程序猿们最关心的问题: 跟我有毛关系?需要我加班吗?!

ios9+xcode7 适配笔记

升级了xcode7,最近ios9上马,又到了草泥马的时间,apple开放团队每次系统更新,都是无数个草泥马的适配夜晚,现在ios9上线以前的app竟然启动crash,这是要闹哪样. 1.微信和微博的sdk得更新了,现在最新的sdk覆盖即可 2.enable  bitcode 设置为no吧,不然真没别的办法 3.info.plist增加LSApplicationQueriesSchemes 和NSAppTransportSecurity设置,这个设置网上已出,就不copy了 ps:用jpush的估

B17-iOS9的适配相关

1.警告directory not found for option问题 ld: warning: directory not found for option '-F/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9.0.sdk/Developer/Library/Frameworks' 出现原因是因为Xcode7将framwo

iOS9 网络请求修改

升级为iOS9后,默认请求类型为https,如何使用http进行请求会报错 The resource could not be loaded because the App Transport Security policy requires the use of a secure connection. 原因 iOS9引入了新特性App Transport Security (ATS) 新特性要求App内访问的网络必须使用HTTPS协议. 但是现在公司的项目使用的是HTTP协议,使用私有加密方