ios9 http请求失败的问题

最近做项目的时候 将电脑版本升级到10.11.3  xcode‘升级到 7.2  但是在模拟器上边进行数据请求的时候告诉我说网路哦有问题

截图如下

通过网络终于找到了解决的办法  原来是ios9 采用了https

所以需要进行配置一下下就可以了。

推荐网址:http://segmentfault.com/a/1190000002933776

最终找到以下解决办法:

  1. 在Info.plist中添加NSAppTransportSecurity类型Dictionary
  2. NSAppTransportSecurity下添加NSAllowsArbitraryLoads类型Boolean,值设为YES

看到很多同学修改后还是不能用添加一下截图:

  1. 在Filter中搜索Info.plist,选择Info.plist进行编辑
  2. 按照上面提到的方式添加信息,正确的修改会看到下图这个样子,注意类型NSAppTransportSecurityDictionaryNSAllowsArbitraryLoadsBoolean,复制粘贴的时候,不要多了空格,segment fault 页面上直接复制,经常会多一个出空格!
  3. 注意??,单元测试下面也有一个Info.plist,修改那个文件是没有作用的!

补充说明

上面介绍的方法虽然解决了网络访问的问题,但是苹果提供的安全保障也被关闭了。
不过,按照国内的现状,关闭这个限制也许是更实际的做法。
至于原因就太多了,第三方SDK(几乎都是访问HTTP),合作伙伴接入(不能要求它们一定要支持HTTPS)。
如果你的App没有受到这些原因的限制,还是更建议你增加HTTPS支持,而不是关闭限制。
请大家根据项目的实际情况作调整。

出于安全考虑我们提倡使用HTTPS,退而求其次,优先考虑使用例外:将允许访问的域加入到配置列表中

@banxi1988 补充了配置的方法
对于实在不支持HTTPS的应该首先考虑添加例外

添加例外的方式也很简单:
左键Info.plist选择open with source code
然后添加类似如下的配置:

    <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>qq.com</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
            </dict>
            <key>sina.com.cn</key>
            <dict>
                <key>NSIncludesSubdomains</key>
                <true/>
            </dict>
           </dict>
   </dict>

根据自己需要的域名修改, NSIncludeSubdomains 顾名思义是包括子域的意思。

时间: 2024-10-19 01:33:56

ios9 http请求失败的问题的相关文章

IOS 京东相关app 出现“网络请求失败,请检查您的网络设置”的解决办法

问题情况 在IOS系统下,下载安装或者更新新版的京东相关app之后,打开app直接就是“网络请求失败,请检查网络设置”,无论是数据连接还是wifi都试了,都是网络请求失败. 然而打开无线局域网-使用无线局域网与蜂窝移动的应用…却找不到手机京东这个对应的app.这是什么原因呢???!!卸载重装还是这个老样子! 解决办法 1.先进入那个“使用无线局域网与蜂窝移动的应用”的界面,随便把某个应用的的联网权限改成别的. 2.再次打开京东这个app,系统就会提示你选择联网权限,选择允许. 3.回去“使用无线

salt未持久化保存导致应用启动时候的网络请求失败(没有权限)

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/css/cuteeditor.css); 获取位置--请求列表--发现没有权限 原因就是salt还没有获取 @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css); @import url(/c

Jsoup问题---获取http协议请求失败 org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or application/xhtml+xml.

Jsoup问题---获取http协议请求失败 1.问题:用Jsoup在获取一些网站的数据时,起初获取很顺利,但是在访问某浪的数据是Jsoup报错,应该是请求头里面的请求类型(ContextType)不符合要求. 错误信息: Exception in thread "main" org.jsoup.UnsupportedMimeTypeException: Unhandled content type. Must be text/*, application/xml, or applic

[django]windows下用Django,静态文件请求失败,出现UnicodeDecodeError

问题:windows下用Django,静态文件请求失败,出现UnicodeDecodeError:'utf-8' codec can't decode byte 0xb0 in position 1:invalid start byte,怎么解决啊? 回答:应该是静态文件的格式问题.也许它的编码是GBK的,你用UTF-8解,就解不开.用记事本打开,另存一个UTF-8格式.

SQL 2008 R2 启动失败 提示 请求失败或服务未及时响应

为什么启动sql server 配置管理器出现请求失败或服务未及时响应_百度知道 http://zhidao.baidu.com/link?url=ElemzIan6I2CqJsd7-7uk5TV259xaJrU8bKWILYO7h7MsYXUuvrBrQFn9wjJS2xvnK6qgOaKfk2DyMrfEd0On_     解决方案:停用"VIA协议"问题解决. "VIA协议"停用方法: 开始->程序->Microsoft SQL Server 20

SQL Server(MSSQLSERVER)启动失败,提示“请求失败或服务未及时响应

1.SQL Server(MSSQLSERVER)启动失败,提示“请求失败或服务未及时响应. --------------------------- SQL Server 配置管理器 --------------------------- 请求失败或服务未及时响应.有关详细信息,请参见事件日志或其他适用的错误日志. --------------------------- 确定 日志文件: 2014-11-19 10:46:53.84 spid10s     错误: 5123,严重性: 16,状态

解决Spring Cloud中Feign/Ribbon第一次请求失败的方法

前言 在Spring Cloud中,Feign和Ribbon在整合了Hystrix后,可能会出现首次调用失败的问题,要如何解决该问题呢? 造成该问题的原因 Hystrix默认的超时时间是1秒,如果超过这个时间尚未响应,将会进入fallback代码.而首次请求往往会比较慢(因为Spring的懒加载机制,要实例化一些类),这个响应时间可能就大于1秒了.知道原因后,我们来总结一下解决放你. 解决方案有三种,以feign为例. 方法一 ? 1 hystrix.command.default.execut

硬盘提示无法访问设备硬件出现致命错误,导致请求失败,里面的数据如何找到

设备硬件出现致命错误,导致请求失败说明这个盘的文件系统结构损坏了.在平时如果数据不重要,那么可以直接格式化就能用了.但是有的时候里面的数据很重要,那么就必须先恢复出数据再格式化.具体恢复方法可以看正文了解(不格式化的恢复方法) 工具/软件:AuroraDataRecovery 步骤1:先下载并解压软件运行后,直接双击需要恢复的分区,接着右击软件图标选择<以管理员身份运行>(如果是xp系统可以直接双击打开软件) 步骤2:程序打开后,直接双击需要恢复数据的盘 步骤3:程序会很快将扫描到的资料,放到

C# WebApi遇到的坑之第二次请求失败问题

最近做的一个WebApi项目,需要访问别人的接口.写好访问POST请求的接口后,调试成功! But,第二次请求就会超时!Why??? 于是乎网上各种找方案,无奈就是找不到.怎么办呢?于是把HttpWebRequest类的每一个属性都设置一边看看有没有效果. 皇天不负有心人啊,终于找到了病症的症结所在···· 不废话了,贴代码: 1 /// <summary> 2 /// POST请求 3 /// </summary> 4 /// <param name="url&q