有了iOS 9,苹果就是授权使用HTTPS。虽然这一切都是好的和安全的,但它迫使我将我的所有开发/测试服务器转换为HTTPS。我正在为安卓和iOS开发。
我已经试过/看过的东西:
我想知道其他人是如何处理这件事的。理想情况下,我想要一个基于3(或不基于1和2)的解决方案,它可以很好地工作在模拟器/模拟器上,并且不需要在各种设备上跳过圈和不断地修改根证书。
我还将为iOS提供一个解决方案(例如#ifdef),因为Android可以停留在HTTP上。
=====================================================================更新:12月20日
发布于 2015-12-20 20:32:51
通过使用免费的DNS提供程序,您可以很容易地为开发服务器添加域名。我使用http://freedns.afraid.org/,它们有一些共享的域名,您可以在其中为您需要的IP添加名称。有时候,我这样做只是为了让内部服务器更容易记住它们在哪里!
至于plist,您在白名单时所做的就是告诉手机应用程序它可以使用HTTP与服务器对话。如果您#ifdef DEBUG您的应用程序与这些端点对话的能力,那么您应该已经编译出最终用户切换到它的能力!
如果您仍然关心它,并且希望有一个删除豁免的构建步骤,那么PlistBuddy就是您的朋友。可以使用以下命令行删除豁免。
/usr/libexec/PlistBuddy -c "Delete :NSAppTransportSecurity:NSExceptionDomains:my.devserver.com" Info.plist发布于 2015-12-16 13:42:45

如果要使用HTTP/HTTPS和info.plist,请将此属性放入您的iOS9中。
发布于 2015-12-18 19:51:13
在默认情况下,当使用NSURLSession时,应用传输安全性是启用的,在iOS9中使用NSURLConnection时,您可以通过使用NSExceptionDomains对Info.plist中的某些URL选择退出ATS。在NSExceptionDomains字典中,您可以显式定义用于ATS的异常所需的URL。您可以使用的例外情况是:
NSIncludesSubdomains
NSExceptionAllowsInsecureHTTPLoads
NSExceptionRequiresForwardSecrecy
NSExceptionMinimumTLSVersion
NSThirdPartyExceptionAllowsInsecureHTTPLoads
NSThirdPartyExceptionMinimumTLSVersion
NSThirdPartyExceptionRequiresForwardSecrecy这些键中的每一个都允许您在无法支持的域上禁用ATS或特定ATS选项。你可以在这里参考这个问题的答案,
https://stackoverflow.com/questions/34201271
复制相似问题