如何使用.fetch函数使API调用IPV6兼容react-native?

met*_*ite 10 ipv6 fetch ios react-native

我开发了一个应用程序(用于IOS),用反应本机编写,在IPV4网络中运行良好.然而,最近Apple发送了一条消息,说我的应用程序在IPV6网络中测试时无效.他们告诉我,我必须使它与仅支持IPV6的网络兼容.

问题是,如何使我现有的API调用与IPV6网络兼容?

我的API使用https协议,它由域名调用,而不是原始IP.

我使用的示例获取调用是:

fetch(query,{
      method: 'post',
      headers: Utils.fetchHeaders('post')
      })
      .then(Utils.checkStatus)
      .then(Utils.parseJSON)
      .then(json => this._handleResponse(json))
      .catch(error => {

         this.setState({
          votingError: 'Sorry, there was an error!',
          loading: false
       });

      });
Run Code Online (Sandbox Code Playgroud)

API端点采用以下格式:

https://www.myapidomain.com

任何帮助赞赏.

Jea*_*ser 7

fetch API在内部使用NSURLSession已支持IPv6的内容:

大多数应用程序不需要任何更改,因为NSURLSession和CFNetwork API已经支持IPv6.

资料来源:https://developer.apple.com/news/?id = 05042016a

由于您没有使用带有fetch API的IPv4地址,因此您应该很高兴.

所以我怀疑还有其他东西(也许是第三方代码?)没有合作.Apple是否为您提供了有关不起作用的更多详细信息?

我建议你按照本教程对你进行测试,找出不正确的方法.