iOS上的React Native Expo导致网络请求失败

时间:2019-01-11 10:39:32

标签: ios react-native expo

有些问题是相关的,但没有一个回答我的问题,所以我想让我们自己问一些细节。

我正在使用Expo SDK使用React Native构建。我正在使用localhost GraphQL API,但似乎来自http端点的iOS prevents fetching数据。根据消息来源和其他相关问题,您必须将add的内容填充到iOS版本中的info.plist文件中。

但是由于我使用的是Expo SDK,所以我没有iOS版本。 According to the docs,您可以将infoPList对象添加到app.json中。 This的答案也表明了这一点。

所以我在app.js中添加了以下内容,但没有成功:


"ios": {
    "supportsTablet": false,
    "infoPlist": {
        "NSAllowsArbitraryLoads": {
            "NSAllowsArbitraryLoads": true
        }
    }
}

我仍然遇到相同的“网络请求失败”错误。有人知道解决方案而不弹出吗?

2 个答案:

答案 0 :(得分:1)

问题在于您设备上的本地主机未指向另一台计算机上的本地开发服务器。要解决此问题,您应该确保测试的移动设备和开发服务器位于同一局域网中,并将localhost更改为开发服务器计算机的ip。

答案 1 :(得分:-1)

我遇到了完全相同的问题,我使用fetch()将数据从本机react应用程序发送到php服务器,使用EXPO从IOS手机模拟,但是在配置了正确的IPV4地址(fetch(http:// ipv4地址/ ...))而不是localhost ... 同样,当我在PC上模拟Web视图并放入访存(http:// localhost / ..)时,我收到的数据一切正常..