获取(或Axios公司)的反应本地不工作的世博会对于iOS应用
问题描述:
的iOS不允许导航到http仅网址,只允许HTTPS。获取(或Axios公司)的反应本地不工作的世博会对于iOS应用
有一个解决方案,它正在改变一些代码Info.plist文件内
https://github.com/facebook/react-native/issues/8717
如何更改设置适用于iOS,因为它配备了只有.expo文件夹,但没有别的。
我需要在最后更改服务器配置呢? :(
答
你正确地找出来,问题是,iOS的不允许非安全(http只)域任意调用。这是为了推到开发商更安全的连接与iOS 9中引入的功能。
按本(2017年中期)的写作,有解决方法。您应该打开
{你的项目}/IOS/{您的项目} /Info.plist
并为您定位的域设置适当的值(docs)。
下面的例子将禁用ATS和允许HTTP调用somedomain.com
:
<key>NSAppTransportSecurity</key>
<dict>
<key>NSExceptionDomains</key>
<dict>
<key>localhost</key>
<dict>
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/>
</dict>
</dict>
</dict>
在你的情况,我相信你正在寻找在错误的地方Info.plist文件。它不是节点模块的一部分,而是查看上面指定的ios路径。
答
不幸的是世博会不允许你修改应用程序传输安全设置,但在配置选项可以烤。 Here's a Github thread。
你可以从eject
世博会,但只有这样做,如果你是100%肯定。
这会给你非常相似,一个由反应本土的init
此设有ios
和android
目录中创建一个项目,导航到ios/YourProject/
将揭示Info.plist
。
需要多少挣扎的是安装在服务器上的SSL证书?这样做可能更有益,您可以使用免费服务,如letsencrypt。
我知道我在找什么。但似乎我正在寻找一些根本不存在的东西。世博项目隐藏本地文件的构建和环境。所以没有地方可以搜索info.plist – Zafta