iOS上线之日了狗的的IPv6

简书

镇景雄

路漫漫其修远兮,吾将上下而求索!

  • 坦白讲,小编一向是以文雅自居,思索了很久才决定用这个标题的,大概只有这个标题才能精准的表达此刻的心情,如果说攻城狮的烦恼是敲不完的代码,改不完的bug,那么作为一名iOS开发攻城狮那就是敲不完的代码,改不完的bug,逃不过的被拒。苹果作为高科技的话事人一向对苹果app审核是很严的,有时候辛辛苦苦写了几个月的代码,就在审核的时候,被拒n次,拒到你怀疑人生,今天我们来聊聊这日了狗的IPv6!

首次被拒

小编最近上线公司云风商城app,测得差不多了,就发布上线了,本想着,既不是游戏类app,又不是体彩类app,上个线不是so easy,但是我以为的只是我以为的我以为的而已,下面是被拒时候苹果给出的附件截图。
C9E995C5FC4942A8E5F685C7BCCD097F.png

当看个这个截图的时候,小编第一个反应是,此事必要蹊跷,掐指算一算,大概有两点原因

  1. 难道是苹果审核的时候,恰好这个时候,服务端小伙伴在部署环境,重启服务器,导致苹果审核人员登录不上去,然后被打回来了,这未免太巧了!
  2. 或许是测完人员修改iTunes Connect中测试账号的密码,导致登录不上去!
    基于这两点猜想,周六小编冒着天寒地冻前往公司,用iTunes Connect中测试账号登录了一下,没有问题,于是,打包重新提交审核了,并且还给苹果写了一封加急邮件,想着明天能上线,就很开心的回去了!

二次被拒

等到晚上睡觉之前去iTunes Connect查看,发现又被拒了,这次苹果给出的截图是一个空白页,弄得小编很懵逼,不过它在全文提到IPv6这个关键词比较多.

3EB4F1BD2CB40B76857953AF2B833F65.png

说起IPv6这个东西,对于iOS开发的小伙伴来说一定不陌生,2016年5月份横空出世,掀起了一段适配IPv6的浪潮,所有提交至苹果App Store的iOS应用申请必须要支持IPv6-only下一代互联网标准。要搞懂这个问题,我们就不得不说说IPv4IPv6这两个概念了

IPv4的定义
  • 目前的全球因特网所采用的协议族是TCP/IP协议族。IP是TCP/IP协议族中网络层的协议,是TCP/IP协议族的核心协议。目前IP协议的版本号是4(简称为IPv4),发展至今已经使用了30多年。 IPv4的地址位数为32位,也就是最多有2的32次方的电脑可以联到Internet上。 近十年来由于互联网的蓬勃发展,IP位址的需求量愈来愈大,使得IP位址的发放愈趋严格,各项资料显示全球IPv4位址可能在2005至2008年间全部发完。
IPv6的定义
  • IPv6是下一版本的互联网协议,也可以说是下一代互联网的协议,它的提出最初是因为随着互联网的迅速发展,IPv4定义的有限地址空间将被耗尽,地址空间的不足必将妨碍互联网的进一步发展。为了扩大地址空间,拟通过IPv6重新定义地址空间。IPv6采用128位地址长度,几乎可以不受限制地提供地址。按保守方法估算IPv6实际可分配的地址,整个地球的每平方米面积上仍可分配1000多个地址。在IPv6的设计过程中除了一劳永逸地解决了地址短缺问题以外,还考虑了在IPv4中解决不好的其它问题,主要有端到端IP连接、服务质量(QoS)、安全性、多播、移动性、即插即用等。
IPv6跟IPv4相比,有哪些优势
  1. 从地址空间的角度讲,IPv4中规定IP地址长度为32,即有232-1个地址;而**IPv6**中IP地址的长度为128,即有2128-1个地址。
  2. 从路由表的角度讲,IPv6的地址分配一开始就遵循聚类(Aggregation)的原则,这使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
  3. 增强的组播(Multicast)支持以及对流的支持(Flow-control)。这使得网络上的多媒体应用有了长足发展的机会,为服务质量(QoS)控制提供了良好的网络平台
  4. 加入了对自动配置(Auto-configuration)的支持。这是对DHCP协议的改进和扩展,使得网络(尤其是局域网)的管理更加方便和快捷. 更高的安全性.在使用IPv6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,这极大的增强了网络安全
    当然了,这些理论性的东西,小编觉得稍微看下,了解下个大概就可以,如果你有时间深入研究也是可以的。
当我们了解了IPV6的概念之后,首先关注的事怎么解决这个问题?
  • 对于这个问题,小编的解决方案是
  1. 按照cocoachina中这个网址http://www.cocoachina.com/ios/20160525/16431.html 提供的方案,一步一步操作,本地搭建下IPv6的环境,看能不能测试通过,如果能测试通过,那么iOS客户端的代码应该是没什么问题的,说明你项目的代码程序用的第三方都适配了IPv6。
  2. 把上面的操作流程录制一段视频,保存下来,这个视频尽可能的保证画面清晰
  3. 在苹果开发者中心,解决方案上传这个视频附件,并且回复一下,至于怎么回复,这个就见仁见智,你可以说,我们在自己这边环境测试是没有问题,附件演示视频,请您重新审核,祝您生活愉快!
  4. 这里需要强调一点,如果代码没问题的话,是不需要重新提交审核,直接回复附件就可以了,因为如果你重新提交审核,又得重新排队了,可能需要的时间会更长一些!
    网上很多人都说上传附件视频就可以审核通过了,小编对这次的解决方案还是很有信心的。

三次被拒

当天晚上打卡下班,回去洗了澡,刷新下iTunes Connect页面,发现又被拒了,就像刘德华歌词中那句:你就像一个刽子手把我出卖,我的心彷佛被剌刀狠狠地宰,谁会愿意接受最痛的意外!
这次被拒的拒绝苹果给出的截图还是登录界面,连接服务器失败的提示

C9E995C5FC4942A8E5F685C7BCCD097F.png

这次被拒,小编心里着实埋下阴影了,最痛苦的不是解决不了问题,而是问题的症结都找不到,叫天天不应,叫地地不灵的绝望。事已至此只有不断去谷歌,去百度,去知乎,后来在网上找到一种貌似有点道理的方法,大概的意思是这样的:上传的附近文件,可能苹果审核不会看,只能把IPv6正常使用的视频,上传youtu.be网站上,提供给苹果一个链接,审核的时候可能审核人员才会打开。细细想来,也有点道理,youtu.be网站是美国的网站,上传他们的网站上面去然后审核,这个过程好像没毛病!所以这一次小编的解决方案是这样的:
①首先你得有谷歌浏览器作为访问国外网站使用,没有的话,可以下载一个。
②对于蓝灯退出历史舞台,而且很多VPN账号不能使用,小编推荐使用firefly这个软件,是可以翻墙的,并且是免费的额。
③这个时候把准备的时候上传到https://www.youtube.com/,这个链接需要复制到谷歌浏览器才能打开的,可能上传的过程当中需要你输入你的谷歌账号和密码,没有的注册一个就可以了。
④拿到youtube网站生成的一个网址,回复一下苹果的附件,把这个链接也加在一个显眼的地方。
⑤为了保险起见,小编跟杨队商量,在邮箱中也跟苹果那边回复一封邮件,并且在邮箱的下面也上传了录制的视频和youtube链接
就这样,怀着忐忑的心情打卡下班了!

四次被拒

等到第二天上班的时候,发现还是被拒了,很忧伤,一种挫败感油然而生!这个时候苹果回复了一封邮件,截图如下
6FC79D00-C244-4564-9558-D35A60D14FDC.png

大概的意思是:审核部门评估你的应用,并确定最初的拒绝反馈是有效的。你的应用程序不符合app Store评审准则2.1。这下子,一下子不知道该如何是好,使劲了浑身解数,发现还是解决不了这个问题,本地测试了IPv6没问题,也上传了视频,为何还是通过不了呢?

这个时候小编想起来,在16年的时候加过一个叫IPv6被拒解决方案群的群,有时候自己思维定式了,需要换一种方式去思考,专业的事情专业的人来做,正如刘国梁所说的一样:如果今天我们还不够强,请相信别人。如果今天我们够强,请相信自己。既然自己对IPv6这个研究得不够深,那就请高人指点指点吧!

对于这个专门解决IPv6被拒的群,进去之后,有个群文件可以下载看看,专门讲解IPv6的,可以按照上面的方案试试,如果不懂,可以问下群里的一些大神,也许会有一些顿悟!

被拒了四五次,毕竟留给我们iOS开发小组的时间也不多了,所以小编直接选择了咨询那个卖解决方案服务的人,想着能不能花一点点钱,快速把这个问题解决了,但是后来技术主管觉得花299元解决这个问题太贵了,否决了这个方案,让我们直接再提交个版本去试试,碰碰运气。所以就这样心不甘情不愿的又提交了一个版本,但是实际上我们都知道,通过的概率很小很小。

虽然提交了,但是小编还是很好奇那些专业解决问题的团队,他们到底是怎么运作的,能够使app上线,后来了解了下,是这么回事,小编截个图,您就一目了然了


[图片上传中...(C000A4EF6BF3573A93B0B755F6127746.png-4e521a-1515661435520-0)]

C000A4EF6BF3573A93B0B755F6127746.png
E6CCD069F5354A3595EDDB092A9BC2F2.png

从截图中可以捕捉两点信息:
①通俗点讲,实际上你需要购买他的服务器服务,他作为一个中转服务器,能够让你的app在审核的时候顺利的访问IPv6,但是这个并不是长久之计,你需要依赖商家那边的服务器,也就是说过期之后可能还是会被拒,又得购买商家的服务,说到这里小编想感叹一句:商机真的是无处不在!
②如果本地搭建环境测过了,那么如果还被拒,那十有八九是服务端那边问题,可能他们需要配置或者处理一些东西,但是对于不懂服务端只是的iOS开发工程师,可能跟服务端沟通这个问题真的不是很顺畅,互相都觉得不是自己的锅,小编也是很无奈啊!
下午的时候小编也一直在想,怎么样模拟美国网络环境去访问我们这个app,或者调试一下能获得什么信息,但是没有美国的朋友,这个想法也只是想想而已。

真想大白

晚上部门聚餐的时候,在楼下我们跟安卓小伙伴闲聊技术,他无意中说出了一句:可能是你发请求的时候传的本地时间不是北京时间所导致的,之前你们h5版本也出现这个问题。这话一出,突然有种醍醐灌顶的感觉,我们赶紧把手机设置里的时区调到纽约时区,发现网络真的访问不了,一时间仿佛找到了问题的症结,饭桌上跟服务端大当家也沟通这个问题,他也默认了时区会导致这个问题,他解释:服务端主要拿本地时间做一些安全性校验,但是只有北京时间能返回数据!

吃完饭就回公司研究这个问题,把手机本地系统时间转化为指定时区时间,代码如下
粘贴图片.png

通过测试纽约时区,其他国外时区,都能访问App。很快我们就重新发布个版本,过了一个小时,晚上10点多的时候,就审核通过了,这里还是要赞一下苹果的审核时间,是越来越短,几乎跟安卓差不多了!

个人总结:

对于IPv6这个问题,虽然以最后一场乌龙结束,但是小编还是简单做个总结,毕竟优秀的技术来自不断的自我归纳!
①只有出现连接服务器失败,或者访问网络错误的提示,苹果会统统视为IPv6的问题,所以当你收到IPv6的被拒邮件的时候,你需要往两方面去思考,一方面是真的是IPv6问题,一方面还是说服务端的配置,或者安全校验问题
②当我们以IPv6问题去解决被拒的时候,上传视频到附件,或者上传视频到youtube这些步骤都是少不了的,因为也许真的是国外网络不好就访问不了你的App,你上传了演示视频,可能真的可以审核,毕竟博客上那些说法没有必要空穴来风
③当你网上的方法试遍了,还是解决不了,小编建议还是找个IPv6的群找个专业的能手咨询下,至少这个领域他们很专业,从他们的言语你有可能会有新收获,对IPv6有新认识,这对你解决这个问题是有帮助的,如果实在赶进度,购买他的服务先通过审核也无妨,毕竟老板需要的是进度,怎么解决的他并不看重!

④也有可能你找了枪手还是解决不了,那么问题的关键就一定是服务端的逻辑问题了,小编的app问题症结就出现在这里了。这个时候就得向办法模拟下美国的网络环境,切换到美国当时时区,然后跟公司服务端小伙伴调试下,相信这种方式一定能从根本上解决这个问题,手机本地时区这个在设置中可以切换,至于怎么切换到美国的网络环境,小编觉得切到美国App Store,就能模拟美国的网络环境,截个图如下
0504709B-33DD-4F80-AAA4-FD4880AB9899.png

这里我想吐槽一下服务端,不知道为什么这边我传一个错误的时间字符串,居然不走AFN网络请求中的成功方法,走的是失败方法,按道理只要URL对就可以跟服务端交互,就会走success方法,但是服务端直接让你走failure方法,这点上小编实在是不解,可能是后台架构或者第三方框架的锅,但是这种方式肯定是不合理的!

引用

一盏灯一片昏黄; 一简书一杯淡茶。 守着那一份淡定, 品读属于自己的寂寞。 保持淡定, 才能欣赏到最美丽的风景! 保持淡定, 人生从此不再寂寞。

诗的引用

朝辞白帝彩云间
千里江陵一日还
两岸猿声啼不住
轻舟已过万重山

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

推荐阅读更多精彩内容