您的位置:首页 > 移动开发

iOS App审核 因IPv6遭到拒绝

2017-08-03 15:58 253 查看
问题描述:
在iTunes Connect 中苹果发来回复:
We discovered one or more bugs in your app when reviewed on iPad and iPhone running iOS 10.3.1 on Wi-Fi connected to an IPv6 network.
解决:
1.让服务器支持IPv6协议
2.或模拟IPv6环境 (谷歌或百度搜索 很多教程),测试哪里出了问题
如:我的是因为AFNetworking 被拒 
解决:2.1 更改为最新的AFNetworking :https://github.com/AFNetworking/AFNetworking
或 2.2  查看项目中 AFNetworkReachabilityManager Class 是否包含AF_INET、struct sockaddr_in 。
将:

+ (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_INET;

_sharedManager = [self managerForAddress:&address];
});

return _sharedManager;
}

改为:
+ (instancetype)sharedManager {
static AFNetworkReachabilityManager *_sharedManager = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
_sharedManager = [self manager];
});

return _sharedManager;
}

+ (instancetype)manager
{
#if (defined(__IPHONE_OS_VERSION_MIN_REQUIRED) && __IPHONE_OS_VERSION_MIN_REQUIRED >= 90000) || (defined(__MAC_OS_X_VERSION_MIN_REQUIRED) && __MAC_OS_X_VERSION_MIN_REQUIRED >= 101100)
struct sockaddr_in6 address;
bzero(&address, sizeof(address));
address.sin6_len = sizeof(address);
address.sin6_family = AF_INET6;
#else
struct sockaddr_in address;
bzero(&address, sizeof(address));
address.sin_len = sizeof(address);
address.sin_family = AF_INET;
#endif
return [self managerForAddress:&address];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: