美文网首页IPV6网络相关
关于App store审核使用socket因为Ipv6问题被拒的

关于App store审核使用socket因为Ipv6问题被拒的

作者: 蜂蜜柚子茶v | 来源:发表于2016-09-30 14:05 被阅读1040次

    第一次写文章,不喜勿喷,谢谢。

            最近,除了xocde8和iOS10,还有一个问题让我们非常头大,也是自六月一号以来的老大难问题,那就是因为ipv6问题被拒绝上架,有的同学很幸运,真的是幸运,没有遇到,遇到这个问题的人可是愁白了头,又花钱有拍视频的,最后还是不行,我就说说我自己的项目吧!

    最开始的时候被拒一脸萌比,这是什么狗屁原因?ipv6? 没听说过!开始疯狂的找资料,了解到自己可以搭建一个NAT64网络来测试,嘿,这下好了,赶紧弄个测试了一下。没问题啊!!再次上传,然后你懂的,又被拒了,原来自己搭建的环境,手机和 Mac 之间是 IPv6 没错,但 Mac 和你的服务器之间还是 IPv4 连接。如果测试通过,只能说明客户端应用在 IPv6 网络下,是没有问题的,但是无法验证你的服务器能够对 IPv6 网络做出正确的响应。

    而苹果审核的时候,是要去 DNS 服务器询问你的服务器的 IPv6 地址,然后进行访问。

    所以,自己搭建的NAT64网络下测试没有问题,并不能保证呢一定能通过审核,怎么办呢?

    闲话不多说了,说一下我的socket是怎么通过的。

    socket网络框架怎么通过审核,如图:

    Socket

    首先,确保你用的是域名,而非IP地址。

    然后,第三方网络框架版本是不是支持IPv6,这个网上有很多资料,不再赘述。

    然后,确保服务器能够响应ipv6的DNS响应,验证方法:

                   终端输入    dig +nocmd +nostats 你的域名 AAAA

    返回的 status 是 NOERROR, 那基本就没什么问题,如果返回的是其他响应,那就让你们服务器的人去做DNS配置,知道响应NOERROR。

    什么?都没问题????那么重点来了

    我们添加一个域名解析:

    域名解析方法

    你会发现socket框架里没有这个方法,好吧,那我们自己写:

    在Asyncsocket.h中添加:

    Asyocsocket.h中添加

    在Asyncsocket.m中的实现方法如图:

    1 2 3 4 5 6 7

    是不是很长,贴出来,主要是我也不明白他的原理,希望有大神给我解释一下,我只是发现这样会通过审核,希望对还在上线路上的同学们一点建议。

    补充一点:还有人提出为什么http不能访问网络,因为iOS9开始,苹果默认不允许使用http访问,要用https,解决办法是关闭ATS,但是此方法将在2017.1.1号不允许使用了,具体解决办法,以后再更新吧。

    我就不贴下载网址了,想要源码的直接私聊我吧。。。。。。。

    第一次写文章,不喜勿喷,谢谢

    相关文章

      网友评论

      • 时速八十迈:猴赛雷!!
      • 未末星空:代码不会看,但是貌似我记得在DNS64什么的添加域名记录即可。国内有两家提供完整的针对ipv6过审的服务。一个是赛尔(又叫六年级),一个是6plat。。你可以看看。bbs.6plat.org网站上面有些东西,那个QQ群也有不少大神🙂
        蜂蜜柚子茶v:@未末星空 你说的是添加AAAA解析纪录,这种方法不一定能成功的

      本文标题:关于App store审核使用socket因为Ipv6问题被拒的

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