iOS开发IPV6 被拒解决办法

中国APP IPv6-only审核为何屡屡被拒

苹果reviewers在美国总部IPv6-only网络环境下,通过DNS64+NAT64服务器转换,对IPv4网络中资源进行访问测试。苹果APP IPv6-only 审核被拒的主要原因是APP开发者没有与审核者相似的IPv6网络环境,更谈不上在上架前进行严格的IPv6支持度测试。从今往后,APP ipv6 支持度也将成为苹果重点审核项目之一。

当你把所有的三方库都升到支持IPV-6 Only网络时,你在使用苹果官方给出的方法在mac电脑模拟网络环境测试之后,app都能正常访问网络,但是你最后还是被苹果审核官方团队残酷的拒之门外,在你做了多次尝试都没有成功上线,你可以尝试一下下面的方法(这个办法只是在大量小伙伴的总结经验后得到的)
  • 网络请求代码这样写
+(AFHTTPSessionManager *)operationmanager{
    AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
    manager.responseSerializer.acceptableContentTypes = nil;//[NSSet setWithObject:@"text/ plain"];
    manager.securityPolicy = [AFSecurityPolicy defaultPolicy];
    manager.securityPolicy.allowInvalidCertificates = YES;//忽略https证书
    manager.securityPolicy.validatesDomainName = NO;//是否验证域名
    return manager;
}
  • 修改AFNetworkReachabilityManager.m文件,用下面函数替换原来的函数
+(instancetype)sharedManager {
double version = [[UIDevice currentDevice].systemVersion doubleValue];
if (version >= 9.0f) {
    struct sockaddr_in6 address; bzero(&address, sizeof(address));
    address.sin6_len = sizeof(address);
    address.sin6_family = AF_INET6;
    return [self managerForAddress:&address];
} else {
#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];
    }
}
如果上面的方法还不能解决问题,或者你想通过专业的方法模拟网络环境

天地互连-全球IPv6 测试中心(以下简称G6TC)面向所有苹果APP 供应商推出IPv6-only预测试业务,旨在通过该中心所提供的权威专业的APP IPv6-only 测试及解决方案,保障APP能够通过IPv6-only测试顺利进驻苹果App Store

针对中国APP无法通过IPv6-only 测试这一难题,G6TC实验室面向APP Server推出了一系列模拟测试及解决方案。G6TC实验室提供APP IPv6-only预测试服务,对APP各功能模块进行详尽的测试,帮助厂商定位APP中IPv6相关问题,以确保APP符合完全IPv6-only标准。同时,G6TC针对不同客户的差异化需求,提供APP server IPv6接入和NAT64/DNS64接入服务两种测试解决方案,确保苹果美国测试中心完成对于相关APP Server相关服务器的访问。APP Server通过实施上述测试及解决方案,可以达到100%通过IPv6-only审核。
G6TC主页

如果你需要尽快上线,自己不想花费太多时间去做这件事,你可以找专业的团队去帮你快速上线(收费),网上一搜一大堆

你可能感兴趣的:(iOS开发IPV6 被拒解决办法)