iOS9与XCode7中不能使用http连接的快速解决办法

在Xcode7.0及以上版本中编译iOS APP时,默认会使用iOS9的一项新特性,使得所有http连接被禁用,项目里使用的API没有https支持,就悲剧了。差了官方文档,有这么一段话

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, provides secure default behavior, and is easy to adopt; it is also on by default in iOS 9 and OS X v10.11. You should adopt ATS as soon as possible, regardless of whether you're creating a new app or updating an existing one.
If you're developing a new app, you should use HTTPS exclusively. If you have an existing app, you should use HTTPS as much as you can right now, and create a plan for migrating the rest of your app as soon as possible. In addition, your communication through higher-level APIs needs to be encrypted using TLS version 1.2 with forward secrecy. If you try to make a connection that doesn't follow this requirement, an error is thrown. If your app needs to make a request to an insecure domain, you have to specify this domain in your app's Info.plist file.

在这里面可以看到,通过修改Info.plist文件可以继续使用http连接,具体的方法如下:

1.在项目左侧找到Info.plist文件,可以通过Filter来搜索

2.在右侧点击Add Row添加NSAppTransportSecurity,类型为Dictionary,然后再添加子项目NSAllowsArbitraryLoads类行为Boolean值为YES

这样就可以重新使用普通的http连接了。不过有条件的话,还是去搞一个https吧.

以上所述是小编给大家介绍的iOS9与XCode7中不能使用http连接的快速解决办法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • iOS9苹果将原http协议改成了https协议的方法

    解决方法: 在info.plist 加入key <key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict> 下面给大家介绍ios中http 和https 协议的访问 最近做个项目,开始采用的是HTTP协议实现客户端和服务器端的交互,后来需要改成HTTPS协议.在修改的过程中发现了一些问题,解决方案如下:

  • iOS中使用NSURLConnection处理HTTP同步与异步请求

    一.引言 在iOS7后,NSURLSession基本代替了NSURLConnection进行网络开发,在iOS9后,NSURLConnection相关方法被完全的弃用,iOS系统有向下兼容的特性,尽管NSURLConnection已经被弃用,但在开发中,其方法依然可以被使用,并且如果需要兼容到很低版本的iOS系统,有时就必须使用NSURLConnection类了. 二.使用NSURLConnection进行同步请求 对于网络请求分为同步和异步两种,同步是指在请求结果返回之前,程序代码会卡在请求处

  • HTTP/2 协议用于 iOS 推送提醒服务 (APNS)

    苹果最近更新了他们的推送提醒服务协议,APNS.这个新版本的协议基于HTTP/2和JSON,相比于旧的二进制协议,新的协议有了巨大改进. 新的APNS协议基于HTTP/2: 新的特性和功能: 基于JSON的请求和响应 对于每个通知,如果成功响应,将会返回200标识 - 不用再去猜测通知是否被接收到 响应错误将会以JSON字符的形式返回 消息的长度从2048个字节增加到4096个字节 连接状态可以通过HTTP/2的ping框架来进行检查 支持主题 通用的推送证书 - 开发和生产使用同一个证书即可

  • iOS应用中发送HTTP的get请求以及HTTP异步请求的方法

    Http get 请求 复制代码 代码如下: // 组合一个搜索字符串     NSString *urlStr = [NSString stringWithFormat:@"http://www.baidu.com/s?wd=%@", @"php"];     // 字符串转化为URL     NSURL *url = [NSURL URLWithString:urlStr];      //    NSMutableURLRequest *request = [

  • IOS10.11 无法访问http的问题解决办法

    IOS10.11 无法访问http的问题解 Xcode  Version 7.3.1 (7D1014) IOS9 之后更新了htpps的访问限制,网上很多文章说 往plist 文件中添加 NSAppTransportSecurity的字典 NSAppTransportSecurity 往上面字典中添加 NSallowsArbitaryLoads  Boolean   YES NSAllowsArbitraryLoads 但是实际上操作添加了也没用.困惑了半天. 最后发现,现在的版本,按照以下操作

  • iOS应用开发中AFNetworking库的常用HTTP操作方法小结

    准备 首先,你需要将AFNetworking 框架包含到工程中.如果你还没有AFNetworking的话,在这里下载最新的版本: https://github.com/AFNetworking/AFNetworking 当你解压出下载的文件后,你将看到其中有一个AFNetworking子文件夹,里面全是.h 和 .m 文件, 如下高亮显示的: 将AFNetworking拖拽到Xcode工程中. 当出现了添加文件的选项时,确保勾选上Copy items into destination group

  • iOS通过http post上传图片

    本文实例为大家分享了iOS通过http post上传图片的相关代码,供大家参考,具体内容如下 //ASIFormDataRequest方式 POST上传图片 -(NSDictionary *)addPicWithDictionary:(NSDictionary *)sugestDic{ NSDictionary *tempDic=nil; NSString *url=[NSString stringWithFormat:@"http://182.50.0.62:8095/xianServer/u

  • 判断iOS应用是否开放HTTP权限的方法

    从 iOS9 起,新特性要求 App 访问网络请求,要采用 HTTPS 协议.但是能不能判断开发者是否允许 HTTP 的请求,这样就不会在发起请求时候失败同时弹出以下信息: App Transport Security has blocked a cleartext HTTP (http://) resource load since it is insecure. Temporary exceptions can be configured via your app's Info.plist

  • iOS的HTTP请求和请求回执类用法小结

    请求类NSURLRequest NSURLRequest类中常用方法和属性总结: //通过类方法创建默认的请求对象 /* 通过这种方式创建的请求对象 默认使用NSURLRequestUseProtocolCachePolicy缓存逻辑 默认请求超时时限为60s */ + (instancetype)requestWithURL:(NSURL *)URL; //返回一个BOOL值 用于判断是否支持安全编码 + (BOOL)supportsSecureCoding; //请求对象的初始化方法 创建时

  • iOS 9无法访问HTTP的解决方法

    在iOS 9之后,苹果默认要求App访问的url必须为https的安全链接,http链接确实是不安全的,如果在开发过程中请求失败,控制台显示http不安全要用https之类的信息的话,那就是由于这个原因了.但是由于并非所有开发者都会去申请HTTPS证书来支持HTTPS访问,所以还是可以进行设置来正常访问HTTP的,方法如下: 1.在Xcode工程中找到Info.plist文件,做iOS开发的应该都了解这是一个做一些应用配置的文件: 2.在Info.plist文件中添加Dictionary类型的N

随机推荐