原文:
关于IPV6审核被拒的完整分析php
自从去年6月1号Apple明文规定全部开发者提交新版本都必须支持IPV6-Only的网络,估计不少iOS开发者都遇到因为IPV6网络不支持形成的审核被拒的状况, 我被坑的不轻啊, 下面就来分析一下IPV6问题如何解决。html
首先附一个审核被拒的原文:ios
Guideline 2.1 - Performance - App Completeness
We discovered one or more bugs in your app when reviewed on iPad running iOS 10.3.2 on Wi-Fi connected to an IPv6 network.
Specifically, the app launched to a blank page.
Please see attached screenshots for details.gitNext Steps
To resolve this issue, please run your app on a device while connected to an IPv6 network (all apps must support IPv6) to identify any issues, then revise and resubmit your app for review.
If we misunderstood the intended behavior of your app, please reply to this message in Resolution Center to provide information on how these features were intended to work.
For new apps, uninstall all previous versions of your app from a device, then install and follow the steps to reproduce the issue. For updates, install the new version as an update to the previous version, then follow the steps to reproduce the issue.github
大意是在iPad上运行iOS 10.3.2 wi - fi链接到IPv6网络, 应用程序启动是一个空白页。请在设备上运行您的应用程序,链接到IPv6网络, 而后修改并从新提交你的应用程序进行审查。objective-c
首先IPV6,是对IPV4地址空间的扩充。目前当咱们用iOS设备链接上Wifi、4G、3G等网络时,设备被分配的地址均是IPV4地址,可是随着运营商和企业逐渐部署IPV6 DNS64/NAT64网络以后,设备被分配的地址会变成IPV6的地址,而这些网络就是所谓的IPV6-Only网络,而且仍然能够经过此网络去获取IPV4地址提供的内容。简单来讲就是IPV4不够用了, 要换IPV6, 这从苹果一贯的以用户体验为主出发, 其实也是为了让用户能用着舒服;
测试是否支持IPV6网上已有更多详细的方法, 照着搭建就行, 下方附搭建环境的方法:服务器
总的来讲有三个方面的问题:微信
除了这些, 还有些其余因素, 好比苹果正在审核, 而大家的后台在部署接口, 这种才是真的坑爹😤啊, 很少说, 感受眼泪止不住往下流了;网络
①检测服务器是否支持IPV6
终端输入如下代码:(参照网上方法)app
dig +nocmd + nostats 你的域名 AAAA
这是看看大家的服务器在IPV6下是否有回应。
②更改服务器配置
阿里云 Ubuntu 支持 IPv6 的完整步骤
这些问题通常会出如今那些维护的APP里面, 因为是初次开发APP的人所处的时间相对较远, 因此项目里所用的SDK会有一些功能缺失; 下面介绍几个第三方SDK的问题;
①Reachability
缘由以下介绍:
#pragma mark reachabilityForLocalWiFi
//reachabilityForLocalWiFi has been removed from the sample. See ReadMe.md for more information.
//+ (instancetype)reachabilityForLocalWiFi;复制代码
②JPush极光推送(v2.1.7开始支持)
这个是咱们项目里遇到的问题, SDK版本低了, 不支持IPV6;
③微博SDK(v3.1.4开始支持)
④友盟(v5.2.1开始支持)
⑤微信(v1.5开始支持)
⑥QQ(未说明)
⑦支付宝(未说明)
⑧百度地图(v3.0.0开始支持)
⑨环信(v3.1.3开始支持)
⑩科大讯飞语音(v1.133开始支持)
固然还有不少其余的SDK, 这里就不一一列举了, 根据项目里用了哪些, 看下官方文档SDK版本历史比对一下就行;
其实对于ipv6_Only的处理,从两大方面进行本身审核:自身网络请求和三方涉及网络请求, 毕竟是因为网络问题;
关于AFNetworking是否支持IPV6, 下面是一网友的说法:
而版本支持是在3.0之后;
固然, 据说网友还遇到了其余的问题:(这个我没遇到, 不过仍是在这里记一下😆)
内网的访问下是不可能链接到本身的服务器,后面测试一下公网阿里云的服务器,可以正常链接,这个多是DNS64在搜索ipv6的过程当中,并无搜索内网的网络,致使内网链接失败;
若是这些仍是没能解决你的问题, 能够看看下面这篇文章:
www.jianshu.com/p/a6bab07c4…
最后感谢参考文章做者的分享, 但愿攻城狮们早日解决bug, 继续撸代码, O(∩_∩)O哈哈~