对于iOS 9,Apple是mandating the use of HTTPS。虽然这一切都很好并且安全,但它迫使我将所有开发/测试服务器转换为HTTPS。我正在为Android和iOS开发。
我已经尝试/看过的事情:
我想知道其他人是如何处理这件事的。理想情况下,我想要一个基于3(或不基于1和2)的解决方案,它可以很好地与模拟器/模拟器配合使用,并且不需要跳过箍并在各种设备上不断修改根证书。
我还会为iOS提供解决方案(例如#ifdef),因为Android可以保留在HTTP上。
=============================================== ====================== 更新:12月20日
答案 0 :(得分:1)
答案 1 :(得分:1)
在iOS9中使用NSURLSession,NSURLConnection时,默认情况下会启用App Transport Security 您可以使用NSExceptionDomains选择退出Info.plist中某些URL的ATS。在NSExceptionDomains字典中,您可以使用ATS显式定义需要例外的URL。您可以使用的例外是:
NSIncludesSubdomains
NSExceptionAllowsInsecureHTTPLoads
NSExceptionRequiresForwardSecrecy
NSExceptionMinimumTLSVersion
NSThirdPartyExceptionAllowsInsecureHTTPLoads
NSThirdPartyExceptionMinimumTLSVersion
NSThirdPartyExceptionRequiresForwardSecrecy
这些密钥中的每一个都允许您在无法支持它们的域上精确地禁用ATS或特定ATS选项。 你可以在这里参考这个问题的答案,
How do I load an HTTP URL with App Transport Security enabled in iOS 9?