原文:
关于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网上已有更多详细的方法, 照着搭建就行, 下方附搭建环境的方法:

  • 苹果官方文档的搭建方法
  • 苹果app上架因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的过程中,并没有搜索内网的网络,导致内网连接失败;

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

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

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

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

  1. AppStore IPv6-only审核被拒原因分析及解决方案-b

    AppStore IPv6-only审核被拒原因分析及解决方案-b 参考文章: (1)AppStore IPv6-only审核被拒原因分析及解决方案-b (2)https://www.cnblogs. ...

  2. 苹果审核之遇到IPV6问题被拒的解决方法

    苹果审核之遇到IPV6问题被拒的解决方法 参考文章: (1)苹果审核之遇到IPV6问题被拒的解决方法 (2)https://www.cnblogs.com/lyz0925/p/9508601.html ...

  3. 错误: iOS审核被拒之 ipv6

    错误 最近苹果审核应用时, 被拒了, 才发现不支持IPv6 We discovered one or more bugs in your app when reviewed on iPad runni ...

  4. 金融 App 审核被拒原因及解决方案汇总

    既然决定了从事金融行业 就要对这个金融 App 开发做到绝对的把控 现整理金融 APP 各种被拒原因以及解决办法 希望可以帮助到大家 苹果审核依据的审核标准有2个,一个是<App Store 审 ...

  5. 关于ios审核被拒3.2.1问题已成功过审经验总结

    苹果审核依据的审核标准有2个,一个是<App Store 审核指南>,一个是<苹果开发者计划许可协议>. 最近好多朋友问我因金融许可证被拒后是怎么过审的,我们都知道 从17年开 ...

  6. iOS:App Store审核被拒的原因

    一.应用出现崩溃.加载失败等非常明显的Bug <App Store Review Guidelines>2.1中明确指明:Make sure your app has been teste ...

  7. App Store 审核被拒整理

    整理以前和现在遇到的审核被拒第一:2.2 Details We discovered one or more bugs in your app when reviewed on iPhone runn ...

  8. iOS - 苹果审核被拒3.2(f)

    最近公司App提交审核被拒了,理由是3.2(f),上网查了一下最近好像很多开发者都收到这个被拒的理由了,而且个别开发者账号被直接封号,一年后才能重新使用. 一年后?意味着这个账号出局了,如果收到这个邮 ...

  9. 苹果商店App Store审核指南中文版(14-15-2016最新)-附:2015年App Store审核被拒Top10(官网)+被拒的23个理由(中英)

    (2014.9.3更新):新增Apple Pay相关内容 苹果在9月3日对App Store审核指南进行了重大更新,新添加了扩展.HealthKit.HomeKit以及TestFlight相关内容.另 ...

  10. ipv6审核被拒绝的解决方案

    苹果ipv6被拒绝邮件描述汇总 (近2个月苹果审核拒绝的app,据笔者估计ipv6占75%以上,内购占10%,其他占15%) 被拒的描述1: From Apple 2. 1 PERFORMANCE: ...

最新文章

  1. 7个华丽的基于Canvas的HTML5动画
  2. sql语句之where子句
  3. 使用SAP Analytics Cloud展示全球新冠肺炎确诊总人数的分布情况
  4. bzoj2425 [HAOI2010]计数 组合数
  5. 李彦宏谈无人车:高速上吃着火锅唱着歌,再有三五年能代替司机
  6. 给定一个无序数组,包含正数、负数和0,要求从中找出3个数的乘积,使得乘积最大
  7. 百度大脑技术支持慧译视频字幕系统,为听障学生带来“看得见的声音”
  8. html调用腾讯视频,调用腾讯视频播放器APi代码
  9. ac命令行隐藏ssid_胖AP性能,多SSID,SSID隐藏,评测小结
  10. TPP是也只是一种挑战
  11. 纯html加css象棋棋盘,纯CSS实现的国际象棋棋盘
  12. 解决TypeError: Converting circular structure to JSON
  13. 一图掌握项目管理的20条锦囊妙计
  14. 服务器主板用linux版本系统,华硕WG X299主板的服务器上安装ubuntu16.04的系统
  15. numpy中的矩阵,线性代数
  16. JavaScript自定义事件--高级技巧
  17. 华为p50pro怎刷机华为p50怎么解锁华为p50pro能刷机吗华为p50强制刷机华为p50解账户锁华为P50pro解账户锁华为p50pro解锁账户华为p50怎么解锁帐号华为p50忘记解锁密码怎么办
  18. python人脸识别解锁电脑_OpenCV+face++实现实时人脸识别解锁功能
  19. Vue多页面应用开发
  20. 发AI顶会论文、做项目实战,你也可以做到!

热门文章

  1. OpenCV问题集锦,图片显示不出来,WaitKey(0),imread()不能读图片,未经处理的异常,等问题集合
  2. 【window操作系统下Github版本的回滚问题】
  3. MATLAB生成数组
  4. 三维激光扫描数据处理理论及应用
  5. 两用物项许可证办理流程_[进出口管制类]两用物项和技术进口许可证之易制毒化学品(6)欣海丁丁检务工作室(272)...
  6. 如何用计算机寒假计划表,如何制定寒假学习计划表
  7. AAAI论文Joint Extraction of Entities and Overlapping Relations Using Position-Attentive Sequence阅读笔记
  8. android自定义趋势图
  9. HttpClient 设置不当引发的一次雪崩
  10. 正在做鸡肋事情的你,准备好了奔赴下一个战场么?