首页 > 解决方案 > 更改 ATS 设置会导致我的应用程序挂起 - Metro 构建但应用程序无法启动

问题描述

我正在为 iOS 构建一个 react-native 应用程序,我的后端 API 目前没有配置 SSL,所以我需要向 ATS 添加一个例外。

在我更改 info.plist 中的任何内容之前,应用程序会加载,但任何 API 调用都不起作用,因为它们被阻止了。当我编辑 info.plist 以将我的域添加为例外时,如下所示,应用程序会构建,但它不会在模拟器上运行。我得到的只是一个白屏:下面是我更改设置之前和之后发生的情况的屏幕截图。不确定是什么问题。有任何想法吗?

.

在我更改设置之前它会加载

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>mysite.com</key>
            <dict>
          <!--Include to allow subdomains-->
          <key>NSIncludesSubdomains</key>
          <true/>
          <!--Include to allow HTTP requests-->
          <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
          <true/>
          <!--Include to specify minimum TLS version-->
          <key>NSTemporaryExceptionMinimumTLSVersion</key>
          <string>TLSv1.1</string>
        </dict>
        </dict>
    </dict>

在我更改设置后它不会加载

标签: iosreact-nativeapp-transport-securitynsapptransportsecurity

解决方案


试试这种格式:

key>NSAppTransportSecurity</key>
    <dict>
        <key>NSExceptionDomains</key>
        <dict>
            <key>yourdomain.com</key>
            <dict>
                <key>NSExceptionAllowsInsecureHTTPLoads</key>
                <true/>
                <key>NSIncludesSubdomains</key>
                <true/>
            </dict>
        </dict>
    </dict>

推荐阅读