【发布时间】:2017-04-23 16:33:40
【问题描述】:
我们有一个 IOS 应用程序。它是基于服务器 URL 的登录。我们必须提交用户名、密码和服务器 URL。但是我们的服务器 Web URL 是在 HTTPS 中运行的。但应用程序仅支持 HTTP URL。我们可以通过info.plist文件启用https服务器请求吗?
【问题讨论】:
标签: ios iphone xcode xcode6 mobile-application
我们有一个 IOS 应用程序。它是基于服务器 URL 的登录。我们必须提交用户名、密码和服务器 URL。但是我们的服务器 Web URL 是在 HTTPS 中运行的。但应用程序仅支持 HTTP URL。我们可以通过info.plist文件启用https服务器请求吗?
【问题讨论】:
标签: ios iphone xcode xcode6 mobile-application
你需要在你的 plist 中做所有的事情检查这个Blog 您可以在 Info.plist 中为特定域添加例外:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>testdomain.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSThirdPartyExceptionAllowsInsecureHTTPLoads</key>
<false/>
<key>NSThirdPartyExceptionRequiresForwardSecrecy</key>
<true/>
<key>NSThirdPartyExceptionMinimumTLSVersion</key>
<string>TLSv1.2</string>
<key>NSRequiresCertificateTransparency</key>
<false/>
</dict>
</dict>
</dict>
如果您的应用有充分的理由这样做,您也可以使用单个密钥忽略所有应用传输安全限制:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
【讨论】: