Bra*_*abs 30 itunesconnect ipv6 ios
在6月1日之后,我将我的离子应用程序提交给itunes connect,我收到了来自apple的消息.
应用程序在IPv6网络上进行审核.请确保您的应用支持IPv6网络,因为需要IPv6兼容性 .
有关支持IPv6网络的信息,请参阅支持iPv6 DNS64/NAT64网络.
有关网络概述,请参阅关于网络.
我已经使用AFNetworking进行API调用.
请帮助找出相同的解决方案.
谢谢.
gun*_*ngh 20
如果您使用的是IPv4特定的API或硬编码的IP地址,则需要更新代码,尽管所有NSURLSession和CFNetwork API(包括NSURLConnection)都已支持IPV6
正如Apple所说:
在WWDC 2015上,我们宣布向iOS 9中的仅IPv6网络服务过渡.从2016年6月1日开始,提交到App Store的所有应用程序都必须支持仅IPv6网络.大多数应用程序不需要任何更改,因为NSURLSession和CFNetwork API已经支持IPv6.
如果您的应用使用特定于IPv4的API或硬编码的IP地址,则需要进行一些更改.
虽然.Apple还建议不要长期使用IP地址文字(不必要)
不要使用IP地址文字
确保您没有将点地址表示法中的IPv4地址文字传递给API,例如getaddrinfo和SCNetworkReachabilityCreateWithName.相反,使用高级网络框架和地址无关的API版本,例如getaddrinfo和getnameinfo,并传递它们的主机名或完全限定的域名(FQDN).请参阅getaddrinfo(3)Mac OS X开发人员工具手册页面和getnameinfo(3)Mac OS X开发人员工具手册页码.
注意:在iOS 9和OS X 10.11及更高版本中,NSURLSession和CFNetwork在DNS64/NAT64网络上运行的设备上本地自动合成IPv4文本中的IPv6地址.但是,您仍应该努力摆脱IP地址文字的代码
如果您使用的是AFNetworking Library,请确保将其更新到3.x以上的版本,因为它们似乎已更新了一些内容.- > AFNetworking添加了对可达性的IPv6支持.
有关详细信息,请点击此链接
另外,要测试
你可以按照这个详细的教程:
Man*_*ngh 12
由IPv6网络引起的Apple应用拒绝解决方案
我对IPv6的互联网可达性检查效果不佳.它总是显示缺少网络.当我使用此代码时,苹果在24小时内批准了我的应用程序.谢谢
更改类AFNetworkReachabilityManager中AFNetworking Library中的代码中的以下行
AF_INET改变AF_INET6;
+ (instancetype)sharedManager {
static AFNetworkReachabilityManager *_sharedManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET6; //Change AF_INET TO AF_INET6
_sharedManager = [self managerForAddress:&address];
});
return _sharedManager;
}
Run Code Online (Sandbox Code Playgroud)
编辑:
$ grep -nr 'AF_INET*' .
./Pods/AFNetworking/AFNetworking/AFNetworkReachabilityManager.m:122: address.sin_family = AF_INET;
replace
AF_INET; to AF_INET6;
Run Code Online (Sandbox Code Playgroud)
实际上我使用AFNetworking Library调用API.
我刚刚用我现有的类替换了Github上的AFNetworkReachabilityManager类.苹果不再有问题了.
我的应用程序现在正常运行
归档时间: |
|
查看次数: |
28431 次 |
最近记录: |