今天升级Xcode 7.0 bata
发现网络访问失败。
输出错误信息
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 Transport Security (ATS)
新特性要求App内访问的网络必须使用HTTPS
协议。
但是现在公司的项目使用的是HTTP
协议,使用私有加密方式保证数据安全。现在也不能马上改成HTTPS
协议传输。
最终找到以下解决办法:
-
在Info.plist中添加
NSAppTransportSecurity
类型Dictionary
。 -
在
NSAppTransportSecurity
下添加NSAllowsArbitraryLoads
类型Boolean
,值设为YES
看到很多同学修改后还是不能用添加一下截图:
-
在Filter中搜索
Info.plist
,选择Info.plist
进行编辑 -
按照上面提到的方式添加信息,正确的修改会看到下图这个样子,注意类型
NSAppTransportSecurity
为Dictionary
,NSAllowsArbitraryLoads
为Boolean
,复制粘贴的时候,不要多了空格,segment fault 页面上直接复制,经常会多一个出空格! -
注意⚠️,单元测试下面也有一个
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 顾名思义是包括子域的意思。
相关推荐
这个压缩包“xcode7_mexopts.zip”显然与Xcode 7的某些特定功能有关,特别是与Mex选项相关的内容。Mex,全称“MATLAB eXecutable”,是MATLAB编程环境中的一个工具,它允许用户将C、C++或Fortran代码与MATLAB脚本...
Step up your iOS development with the power and wealth of features of Xcode 7 About This Book Updated for the latest Xcode 7 release, this is the first book that will show you how to use all the new...
关于xcode7真机测试出现 could not find developer disk image 问题,主要缺少了此文件夹,将其放到 /Applications/Xcode7.0.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport 目录下就OK了.
看了WWDC15中what’s new in XCode后,忍不住想试试XCode中UITest,http://blog.csdn.net/lcg0412/article/details/46540943博客的Demo代码
6. **网络请求调试**:Xcode的Network Inspector可以捕获应用发出的网络请求,查看请求详情和响应,帮助开发者诊断网络相关问题。 7. **实时更改与热重载**:Xcode 15.4引入了热重载功能,允许开发者在不重启应用的...
《Xcode7 空工程Empty-Application详解》 在iOS应用开发中,Xcode是不可或缺的工具,而“空工程”(Empty Application)则是开发者开始编写代码的基础模板。本文将详细探讨Xcode7中的“空工程”项目,以及如何利用...
这个文件可以让你在Xcode7版本调试iOS10.1版本的真机(Could not find Developer Disk Image)。将压缩包解压把文件夹放在 /Applications/Xcode.app/Contents/Developer/ 即可。
"Xcode_6_beta_7.dmg.txt"可能是一个文本文件,其中包含有关如何下载或访问Xcode 6 Beta 7的详细信息,比如百度云的链接或提取码。在实际开发过程中,这种文件通常用于分享大型软件包,因为它们的大小可能超过电子...
### Xcode 版本概述与比较 Xcode 是苹果公司为开发者提供的官方集成开发环境(IDE),主要用于开发 iOS、macOS、watchOS 和 tvOS 的应用程序。随着时间的推移,Xcode 经历了多个版本的迭代和发展。本文将重点介绍 ...
标题中的“iphone XCode实现了对无线网络的识别的功能”指的是使用Apple的开发工具XCode,在iOS平台上开发应用程序时,利用特定的API和技术来检测设备当前的网络连接状态,包括是否可以接入互联网以及接入的方式,...
《Xcode 12.1镜像文件:保持对iOS 12.1真机支持的详尽指南》 在iOS应用开发过程中,Xcode作为官方的集成开发环境(IDE),扮演着至关重要的角色。然而,随着新版本的发布,开发者们可能会面临一个问题:如何在不...
**Xcode 14.2 全面解析:专业级iOS与macOS开发工具** Xcode作为Apple官方的集成开发环境(IDE),是iOS、iPadOS、watchOS、tvOS以及macOS应用开发的核心工具。Xcode 14.2版本在前代的基础上进行了诸多优化和增强,...
ios xcode10-xcode14各版本sdk,主要包括7 8 9 10 11 12 13 14个版本以及各小版本,博客中有截图。
在iOS和macOS应用开发领域,Xcode是Apple官方推荐的集成开发环境(IDE),它提供了丰富的功能,如代码编辑、调试、构建管理等。然而,对于习惯于使用Visual Studio等其他IDE的开发者来说,Xcode在某些方面可能略显...
标题中的“xcode disk image 10.1”指的是Xcode的一个特定版本,与iOS 10.1设备支持相关的磁盘映像。这个版本的Xcode包含了开发和测试iOS 10.1应用程序所需的所有工具和资源。Xcode是Apple官方的集成开发环境(IDE)...
在压缩包文件“XCode_4_2_for_snow_leopard.torrent”中,".torrent"扩展名表明这可能是一个BitTorrent文件,用于通过P2P网络共享大文件。使用BitTorrent客户端,如uTorrent或Transmission,可以下载这个XCode的老...
Xcode 15.4 真机调试包是一个针对苹果开发者的重要工具,它允许开发者在实际设备上测试和调试iOS、iPadOS、macOS、tvOS以及watchOS应用程序。这个版本的Xcode包含了编译器、模拟器、界面设计工具、性能分析工具等一...
### 卸载Xcode的命令 在开发领域中,Xcode是苹果官方为开发者提供的集成开发环境(Integrated Development Environment,IDE),主要用于iOS、iPadOS、macOS、watchOS及tvOS的应用程序开发。然而,在某些情况下,...
通过访问苹果官方的开发者网站或Mac App Store,开发者可以轻松下载到适合自身操作系统的Xcode版本,开启自己的苹果生态开发之旅。对于每一位致力于苹果平台应用开发的人员而言,熟练掌握Xcode的使用技巧,将有助于...
《Xcode7 空白模板深度解析》 在iOS应用开发中,Xcode作为官方推荐的集成开发环境,扮演着至关重要的角色。Xcode7引入了许多新特性,其中之一便是“空白模板”(Empty Application.xctemplate),为开发者提供了一...