android和ios中的https获取请求阻塞-React Native

android和ios中的https获取请求阻塞-React Native,android,ios,reactjs,react-native,protocols,Android,Ios,Reactjs,React Native,Protocols,我使用React Native构建了一个移动应用程序 因为我使用一个api获取数据,最初我在http中有一个web api,例如:它在android中成功获取数据,但在ios中没有 我读了苹果的文档,然后发现苹果需要https来制作应用程序 因此,我决定将我的web api协议更改为https,如下所示:,成功更改api后,当我点击该url时,我在网页中得到响应,但现在,当我运行React本机应用程序时,它告诉我网络请求失败 我还在React本机获取请求代码中将http更改为https。我不知道

我使用React Native构建了一个移动应用程序

因为我使用一个api获取数据,最初我在http中有一个web api,例如:它在android中成功获取数据,但在ios中没有

我读了苹果的文档,然后发现苹果需要https来制作应用程序

因此,我决定将我的web api协议更改为https,如下所示:,成功更改api后,当我点击该url时,我在网页中得到响应,但现在,当我运行React本机应用程序时,它告诉我网络请求失败


我还在React本机获取请求代码中将http更改为https。我不知道问题出在哪里,这是React Native问题吗?

https对于iOS来说是不够的。默认情况下,您的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>
NSAppTransportSecurity
NSAllowsArbitraryLoads
NSExceptionDomains
example.com
n包括多个域
NSExceptionRequiresForwardSecretary
NSExceptionMinimumTLSVersion
TLSv1.0

对于iOS来说,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>
NSAppTransportSecurity
NSAllowsArbitraryLoads
NSExceptionDomains
example.com
n包括多个域
NSExceptionRequiresForwardSecretary
NSExceptionMinimumTLSVersion
TLSv1.0

我认为苹果取消了仅限https的政策。你的问题可能在于其他方面。那么安卓系统呢?如果我在android中使用https,则表明相同的错误网络请求失败。当您在web/Postman上尝试该API时,该API是否工作?对于iOS,您需要编辑info.plist以允许https:。对于Android,您是否在AndroidManifest中指定了INTERNET权限?我使用“创建反应本机应用程序”创建反应本机应用程序,因此我没有Android和ios文件夹。我使用的是expo客户端。我相信苹果取消了仅限https的政策。你的问题可能在于其他方面。那么安卓系统呢?如果我在android中使用https,则表明相同的错误网络请求失败。当您在web/Postman上尝试该API时,该API是否工作?对于iOS,您需要编辑info.plist以允许https:。对于Android,您是否在您的AndroidManifest中指定了INTERNET权限?我使用“create React native app”创建、反应本机应用程序,因此我没有Android和ios文件夹。我使用的是expo客户端。在ios上工作过,但在Android上没有。在ios上工作过,但在Android上没有。