我开发了一个用于本机的应用程序(用于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端点采用以下格式:
任何帮助表示感谢。
答案 0 :(得分:7)
fetch API内部使用已支持IPv6的NSURLSession
:
大多数应用程序不需要任何更改,因为NSURLSession和CFNetwork API已经支持IPv6。
来源:https://developer.apple.com/news/?id=05042016a
由于您没有使用带有fetch API的IPv4地址,因此您应该很高兴。
所以我怀疑还有其他东西(可能是第三方代码?)没有合作。 Apple是否向您提供了有关哪些内容无效的详细信息?
我建议您按照this tutorial对其进行测试,找出不正确的内容。