iOS9 HTTP 修改 Info.plist 文件后还是不能正常使用

发布于 2022-09-01 18:26:20 字数 593 浏览 13 评论 0

最近在做 iOS9 的网络适配,公司用的 HTTP 协议,因为 iOS9 ATS 导致项目不能正常使用,报错是

Failed to send request for reason:Error Domain=NSURLErrorDomain Code=-1022 "The resource could not be loaded because the App Transport Security policy requires the use of a secure connection." 

显然是 ATS 的问题。但是我修改了 Info.plist 文件之后还是报错,而且报错信息没有变,请问大家有没有遇到的或者有什么解决方案吗?

还有,我是这样修改的 Info.plist 文件:

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

街道布景 2022-09-08 18:26:20

代码没问题,应该是你加错了位置。尝试加到第五行:

pic

笙痞 2022-09-08 18:26:20

很有可能是@iOS程序犭袁说的这种情况,其实想在iOS9中使用HTTP的话,不一定非要改动info.plist,ATS是苹果基于NSURL做的处理,那么使用CFNetwork做网络请求的话,是没问题的。ASIHTTPRequest就是基于CFNetwork做的封装,你可以看看,不过ASI写的太多了,有些用不上,我是自己仿照ASI基于CFNetwork封装了一下,ASI的SLL/TSL证书校验有问题,我自己重新封装了HTTPS的证书校验。如果以后你还是使用CFNetwork但是又想使用HTTPS了,关于SSL/TSL证书校验的问题,可以私信我,交流交流。

感性 2022-09-08 18:26:20

IOS9要求所有接口使用https.错误原因就是这个

唯憾梦倾城 2022-09-08 18:26:20

遇到这类问题,90%是出现在“一个 Project 多 Target ”的情况下,所以
请确保你修改的,确实是你的 Target 所属的 Info.plist !

如何确认?请前往这里,确认你 Target 所属的 Info.plist 究竟是哪个:

Project -> Your Target -> Build Settings -> Info.plist File

enter image description here

或者更直截了当一点,直接修改:

Project -> Your Target —>info-> Custom iOS target properties-> 添加禁用 ATS 的属性

enter image description here

更多 iOS9适配问题请访问--》 《iOS9适配系列教程 》

情归归情 2022-09-08 18:26:20

我遇到了跟你一样的问题,弄了好久,突然发现了错误在哪,也许你跟我犯的错误一样。图片描述

注意你改plist文件的时候要看好你改的是那个plist,你应该改APPDelegate下面的那个plist文件

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文