关于IPV6审核被拒的完整分析

自从去年6月1号Apple明文规定所有开发者提交新版本都必须支持IPV6-Only的网络,估计很多iOS开发者都遇到由于IPV6网络不支持造成的审核被拒的情况, 我被坑的不轻啊, 下面就来分析一下IPV6问题如何解决。

首先附一个审核被拒的原文:

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.

Next 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.

大意是在iPad上运行iOS 10.3.2 wi - fi连接到IPv6网络, 应用程序启动是一个空白页。请在设备上运行您的应用程序,连接到IPv6网络, 然后修改并重新提交你的应用程序进行审查。

一. 简单介绍一下IPV6以及如何搭建检测环境

首先IPV6,是对IPV4地址空间的扩充。目前当我们用iOS设备连接上Wifi、4G、3G等网络时,设备被分配的地址均是IPV4地址,但是随着运营商和企业逐渐部署IPV6 DNS64/NAT64网络之后,设备被分配的地址会变成IPV6的地址,而这些网络就是所谓的IPV6-Only网络,并且仍然可以通过此网络去获取IPV4地址提供的内容。简单来说就是IPV4不够用了, 要换IPV6, 这从苹果一向的以用户体验为主出发, 其实也是为了让用户能用着舒服;
测试是否支持IPV6网上已有更多详细的方法, 照着搭建就行, 下方附搭建环境的方法:

二. 解决办法

总的来说有三个方面的问题:

  • 服务器不支持IPV6
  • 项目中导入的第三方SDK不支持IPV6
  • 项目中涉及到的网络请求不支持IPV6

除了这些, 还有些其他因素, 比如苹果正在审核, 而你们的后台在部署接口, 这种才是真的坑爹😤啊, 不多说, 感觉眼泪止不住往下流了;

1. 服务器

①检测服务器是否支持IPV6
终端输入以下代码:(参照网上方法)

dig +nocmd + nostats 你的域名 AAAA

这是看看你们的服务器在IPV6下是否有回应。

简书的域名检测

有错误的话, 对照下面的表:


改变DNS的配置,直到稳定返回 NOERROR 为止。

②更改服务器配置
阿里云 Ubuntu 支持 IPv6 的完整步骤

2. 第三方SDK

这些问题一般会出现在那些维护的APP里面, 由于是初次开发APP的人所处的时间相对较远, 所以项目里所用的SDK会有一些功能缺失; 下面介绍几个第三方SDK的问题;
①Reachability


苹果都发话, 这个当然要改了;
新的sdk包将这个方法干掉了:reachabilityForLocalWiFi,只要自己的代码中干掉就行了,没什么影响。

原因如下介绍:

#pragma mark reachabilityForLocalWiFi

//reachabilityForLocalWiFi has been removed from the sample.  See ReadMe.md for more information.

//+ (instancetype)reachabilityForLocalWiFi;

②JPush极光推送(v2.1.7开始支持)
这个是我们项目里遇到的问题, SDK版本低了, 不支持IPV6;


从图中可以看出, 2.1.7版本才开始支持IPV6, 而我们版本是2.1.0; 唉😔, 乖乖升级咯;
附:
极光文档地址

③微博SDK(v3.1.4开始支持)


而且从官方文档上发现, 更新SDK, 实际上是更新Reachability库;


附:
微博SDK文档地址

④友盟(v5.2.1开始支持)


附:
友盟文档地址

⑤微信(v1.5开始支持)


有简友说微信的sdk包是支持ipv6的,但是微信本身并不支持ipv6,所以说,即便你替换了最新的sdk包,在ipv6网络下还是不能用微信分享,因为你的app应用在ipv6网络环境下调不起微信,也就分享不了了,这个问题微信应该意识到了,估计后边的版本应该也是支持ipv6, 这个大家可以注意下;
附:
微信文档地址

⑥QQ(未说明)


从变更历史也看不出从哪个版本开始支持的, 估计是觉得这点玩意儿不值得说吧. 大佬们的世界真是看不懂, 大家就按时间来估计吧;
附:
QQ文档地址

⑦支付宝(未说明)


看下载的demo里面, 版本更新历史对具体哪个版本更新的未说明, 万一是最近被苹果打压的才更新的, 也不一定, 反正最新版本肯定是有了, 而且还多了些其他功能;
附:
支付宝文档地址

⑧百度地图(v3.0.0开始支持)


附:
百度地图文档地址

⑨环信(v3.1.3开始支持)


附:
环信文档地址

⑩科大讯飞语音(v1.133开始支持)


附:
科大讯飞语音文档地址

当然还有很多其他的SDK, 这里就不一一列举了, 根据项目里用了哪些, 看下官方文档SDK版本历史比对一下就行;

3. 网络请求

其实对于ipv6_Only的处理,从两大方面进行自己审核:自身网络请求和三方涉及网络请求, 毕竟是由于网络问题;
关于AFNetworking是否支持IPV6, 下面是一网友的说法:

而版本支持是在3.0以后;

当然, 听说网友还遇到了其他的问题:(这个我没遇到, 不过还是在这里记一下😆)
内网的访问下是不可能连接到自己的服务器,后面测试一下公网阿里云的服务器,能够正常连接,这个可能是DNS64在搜索ipv6的过程中,并没有搜索内网的网络,导致内网连接失败;

如果这些还是没能解决你的问题, 可以看看下面这篇文章:
http://www.jianshu.com/p/a6bab07c4062

最后感谢参考文章作者的分享, 希望攻城狮们早日解决bug, 继续撸代码, O(∩_∩)O哈哈~

本文参考文章:
iOS 被拒6次的ipv6
Ipv6_Only 简单的理解(已验证,项目已经上线)

推荐阅读文章:
iOS应用支持IPV6,就那点事儿

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,547评论 6 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,399评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,428评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,599评论 1 274
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,612评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,577评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,941评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,603评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,852评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,605评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,693评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,375评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,955评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,936评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,172评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,970评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,414评论 2 342

推荐阅读更多精彩内容