React-Native +阿波罗:网络请求失败

时间:2019-03-20 12:54:07

标签: react-native apollo

我正在尝试解决React-Native项目中IOS上的网络请求失败。当前时刻是我正在尝试发出HTTPS请求以检查Apollo客户端中的授权,并且到处都是我应该在IOS中更改info.plist的答案,但是我已经更改了它,并且仍然出现错误:( 我也尝试在链接中使用IP地址,但是没有用。

请帮我解决它。


client.js

const Login = onError(({error}) => {
  console.log(e);
  if (error && error.statusCode === 401) {
    onLogin();
  }
});


const ApolloLink = new HttpLink({ uri: 'https://link', credentials: 'include' });
const Link = Login.concat(ApolloLink);

export default new ApolloClient({
  link: Link,
  cache: new InMemoryCache(),
});

export function ApolloClient(operation) {
  return makePromise(execute(Link, operation));
}

info.plist

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

更新:最终发现,就我而言,这是Webpack的问题。谢谢大家!

1 个答案:

答案 0 :(得分:0)

使用此代码代替您的代码,并使用笔记本电脑IP更改127.0.0.1

<key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
        <key>NSExceptionDomains</key>
        <dict>
            <key>127.0.0.1</key>
            <dict>
                <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>
                <true/>
            </dict>
        </dict>
    </dict>