ios - 更改 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>
解决方案
试试这种格式:
key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>yourdomain.com</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
<key>NSIncludesSubdomains</key>
<true/>
</dict>
</dict>
</dict>
推荐阅读
- amazon-web-services - 在 golang 中订阅 SNS 主题和/或 SQS 队列?
- android - Android Studio 的奇怪行为,一些文件看起来与实际不同
- c# - Xamarin 自定义表视图标题
- python - ElementTree 解析 xml 文件 - 解析问题
- excel - Excel VBA:无法从 VBA 中的日期变量填写
- docker - 如何从 docker 容器在主机中运行 bash 脚本并获得结果
- python - 使用python将列值与数据框中的int进行比较
- python - Python 进入一个什么都不做的无限循环
- here-api - HERE API 演示与实际
- c# - 通过 HTTP 连接到 Azure Redis 缓存