如何使用.fetch函数使API调用IPV6兼容react-native?
我已经开发了一个应用程序(用于IOS),用native native编写,在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
任何帮助赞赏。
fetch API内部使用已支持IPv6的NSURLSession
:
大多数应用程序不需要任何更改,因为NSURLSession和CFNetwork API已经支持IPv6。
资料来源: https : //developer.apple.com/news/?id = 05042016a
由于您没有使用带有fetch API的IPv4地址,因此您应该很高兴。
所以我怀疑还有其他东西(也许是第三方代码?)没有合作。 Apple是否为您提供了有关哪些内容无效的详细信息?
我建议你按照本教程对你进行测试,找出错误的原因。