审核拒绝_IPv6(已解决)

作者: oldSix_Zhu | 来源:发表于2017-03-15 17:37 被阅读98次

根据苹果公司的要求,2016年所有iOS应用必须包含对IPv6-only网络的支持
没有意外,我也被拒了

原因截图

原因:点击一个按钮导致崩溃
而这个按钮的方法里调用的是一个检测网络的方法
检测网络用的是Reachability

所以我下载了苹果最新的Reachability文件替换一下
<a href="https://developer.apple.com/library/content/samplecode/Reachability/Introduction/Intro.html#//apple_ref/doc/uid/DTS40007324-Intro-DontLinkElementID_2">苹果官方Reachability下载地址</a>
再稍微更改几个方法,因为有的方法失效了:

#pragma mark reachabilityForLocalWiFi
//reachabilityForLocalWiFi has been removed from the sample. 
// See ReadMe.md for more information.
//+ (instancetype)reachabilityForLocalWiFi;

1.提交审核后没有通过.
原因:关于支持IPv6还有一个或多个bug.

我根据文档用Mac建立本地的IPv6 Wi-Fi 网络,用手机连接并测试,并无任何问题:<a href="http://jingyan.baidu.com/article/e75057f2f33cffebc91a89a3.html">Mac电脑搭建IPv6测试环境</a>
但实际上手机和 Mac 之间是 IPv6 连接没错,但 Mac 和服务器之间还是 IPv4 连接,这就尴尬了...

所以事情并没有想象中那么简单.好好研究了下文档
<a href="https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/NetworkingOverview/UnderstandingandPreparingfortheIPv6Transition/UnderstandingandPreparingfortheIPv6Transition.html#//apple_ref/doc/uid/TP40010220-CH213-SW1">苹果关于支持IPv6文档</a>
<a href="http://www.skyfox.org/ios-app-support-ipv6-dns64-nat64.html">苹果关于支持IPv6文档原文翻译</a>
根据文档解决办法如下:
1.更新AFN
2.去除自己使用的NSURLConnection工具类,使用AFN代替
3.其他老旧第三方更新,如支付宝
4.用域名更换使用ip的请求地址
(就是用类似(https://www.baidu.com/)
而不是(https://192.168.1.1:80))


2.提交审核后没有通过
原因:点击一个按钮导致崩溃
好像又回到了原点T^T
那这次只能去除reachability,使用AFN的AFNetworkReachabilityManager代替试试了


审核通过啦!

相关文章

网友评论

  • 小冰山口:检测网络状态也可以不用Reachability,AFN框架里也有API可以检查网络状态
    oldSix_Zhu:@学豆 再不过再试试吧
  • 小冰山口:NSURLConnection不是已经过时了吗?统一用NSURLSession,.AFN3.0也撤掉了NSURLConnection的代码
    oldSix_Zhu:@学豆 项目里确实二次封装的session,但是工具类里的注释写的是“点播时使用afn会有卡顿,用connection试试”所以没改

本文标题:审核拒绝_IPv6(已解决)

本文链接:https://www.haomeiwen.com/subject/daxrnttx.html