在反应本机中获取(或 Axios)不适用于 iOS 应用程序的博览会



iOS 不允许导航到仅限 http 的网址,只允许 https。

有一个解决方案,它正在更改 info.plist 文件中的一些代码

https://github.com/facebook/react-native/issues/8717

如何更改iOS的设置,因为它仅附带.expo文件夹,而没有其他内容。

我最后需要为此更改服务器配置吗? :(

正如您正确发现的那样,问题是iOS不允许任意调用不安全(仅限http(域。这是iOS 9引入的一项功能,目的是将开发人员推向更安全的连接。

根据本文(2017年中期(,有解决方法。你应该打开

{Your-project}/

ios/{Your-project}/Info.plist

并为您定位的域(文档(设置适当的值。

以下示例将禁用 ATS 并允许对somedomain.com进行 HTTP 调用:

<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>

在您的情况下,我相信您正在错误的位置查找 Info.plist 文件。它不是节点模块的一部分,而是查看上面指定的 ios 路径。

不幸的是,Expo 不允许您修改应用程序传输安全设置,但可能会烘焙配置选项。这是一个Github线程。

您可以从世博会eject,但只有在 100% 确定的情况下才能这样做。

这将为您提供一个非常类似于由 react-native init 创建的项目

它具有iosandroid目录,导航到ios/YourProject/将显示Info.plist

在您的服务器上安装 SSL 证书会有多困难?这样做可能更有益,您可以使用像letsencrypt这样的免费服务。

最新更新