尽管将 info.plist 更改为 NSAppTransport Security 为 NO Xcode 7.2 iOS 9.2,但应用程序传输安全错误

Posted

技术标签:

【中文标题】尽管将 info.plist 更改为 NSAppTransport Security 为 NO Xcode 7.2 iOS 9.2,但应用程序传输安全错误【英文标题】:App Transport Security error despite changing info.plist to NSAppTransport Security to NO Xcode 7.2 iOS 9.2 【发布时间】:2015-12-10 13:41:24 【问题描述】:

我使用的是 Xcode 7.2,但在 ios 9.2 中遇到了问题。 正如以前版本所建议的那样,为了解决。

App Transport Security 已阻止明文 HTTP (http://) 资源 加载,因为它不安全。可以通过以下方式配置临时异常 您应用的 Info.plist 文件。

问题我在 info.plist 文件中插入了以下几行:

 <key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <false/>
    <key>NSExceptionDomains</key>
    <dict>
        <key>www.mydomain.gr</key>
        <dict>
            <key>NSIncludesSubdomains</key>
            <true/>
            <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
            <true/>
            <key>NSTemporaryExceptionMinimumTLSVersion</key>
            <string>TLSv1.1</string>
        </dict>
    </dict>
</dict>

自从 9.2 iOS 版本再次出现相同的消息以来,它运行良好。

我尝试将 NSAllowsArbitraryLoads 设置为 YES 并且它有效,但我确信这不是解决问题的正确方法,因为 Apple 可能会以这种方式拒绝我的申请。 我正在考虑将我的 URL 从 http 更改为 https。这可能是解决方案吗?有没有人遇到同样的问题?

【问题讨论】:

我还添加了 BOOL 键 NSExceptionRequiresForwardSecrecy 设置为 YES。 该域是否需要 www? 据我所知没有! 【参考方案1】:

感谢GlennRay我终于找到了解决办法。 首先,我在我的域中插入了一个证书以确保连接安全,并将我的所有 url 替换为 https。所以不再需要在 plist 文件中使用任何提到的变量,所以我删除了它们。 一个重要的想法是我应该从我的域中删除 www,因为它不是必需的!

【讨论】:

嗯,我应该把 www 的想法作为答案吗? 它是 www 以及插入证书以确保连接!我不知道!

以上是关于尽管将 info.plist 更改为 NSAppTransport Security 为 NO Xcode 7.2 iOS 9.2,但应用程序传输安全错误的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2017 Info.plist 在选项卡更改后丢失分发目标

尽管我的 info.plist 中有“NSCameraUsageDescription”属性,但 iTunes 连接显示“无效二进制”

在不提供新版本的情况下更改 info.plist 值的方法

将 UIStatusBarStyle 更改为 LightContent(白色)在 Swift 中不起作用

iOS 应用程序无法查询方案“comgooglemaps”,尽管我在 info plist 的 LSApplicationQuery 中添加了“comgooglemaps”

Ionic 应用程序未在 info plist 文件中显示各种权限,尽管它们位于 config.xml 中