我使用React Native构建一个移动应用程序,
因为我使用一个api来获取数据,最初我在http中有一个web api,例如:http://example.com它成功获取android中的数据但不是ios中的数据,
我读了苹果文档然后我发现苹果需要https用于生产应用程序,
所以我决定将我的网络API协议更改为 https ,如下所示:https://example.com,成功更改我的api后,当我点击该网址时,我在网页上得到了回复,但现在当我正在运行我的React Native应用程序,它告诉我网络请求失败
我还在我的React Native fetch请求代码中将我的http更改为https。我不知道问题是什么,这是React Native问题吗?
答案 0 :(得分:2)
https是不够的。您的SSL证书应默认符合TSL 1.2或主要版本。
您可以覆盖此行为,在info.plist文件中设置支持的最低TSL,如下所示:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<false/>
<key>NSExceptionDomains</key>
<dict>
<key>example.com</key>
<dict>
<key>NSIncludesSubdomains</key>
<true/>
<key>NSExceptionRequiresForwardSecrecy</key>
<false/>
<key>NSExceptionMinimumTLSVersion</key>
<string>TLSv1.0</string>
</dict>
</dict>