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

时间:2016-06-28 23:40:04

标签: ios react-native fetch ipv6

我开发了一个用于本机的应用程序(用于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
       });

      });

,API端点采用以下格式:

  

https://www.myapidomain.com

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:7)

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

  

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

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

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

所以我怀疑还有其他东西(可能是第三方代码?)没有合作。 Apple是否向您提供了有关哪些内容无效的详细信息?

我建议您按照this tutorial对其进行测试,找出不正确的内容。