IOS 因为ipv6被拒问题解决方案

自前几天上架App Store时遇到这个问题.

2.2 Details

We discovered one or more bugs in your app when reviewed on iPhone running iOS 9.3.2 on Wi-Fi.

Specifically, we were unable to login the app at IPv6 network.

We've attached screenshot(s) for your reference. 


根据被拒原因的意思, 是发现app存在Bug,并且在IPv6环境下不能登录.

几经改了上, 上了被拒,然后再改再上,  终于是艰难的成功上架了!

自2016年6月份之后, apple需要所有上架的app适配Ipv6网的环境 !  一直没有更新项目的我, 一直等到近9月份才知道这个消息 !

首先,大家可以先搭建一个ipv6网的环境测试一下自己的项目, 也就是用mac做一个热点, 用手机连上去, 百度上一大堆方法,  不过需要非

wifi的网络环境,那么你就需要一个USB网线转换器, 因为mac没法插网线.

最后的结果是这样的:


IOS 因为ipv6被拒问题解决方案_第1张图片


然后运行了一个app,果然存在无法登陆的问题.


然后说一下我在修改过程中的解决方案.

1:跟后台开发人员商量了一下, 然后把项目中的地址 改成了 域名. 这个是需要后台改的!

2: 把项目中用到的第三方改了一下,  reachability  新浪微博 连连支付 友盟统计分析 微信 QQ 支付宝 百度地图等 这些第三方都需要更新

我项目中把AFNetworking改了一下,这个是必须改到3.0以上版本的,  期间ShareSDK更新了一次, 然后这个也改到最新版本了. 测试了一下,

没问题,然后又上了一次,  结果等了几天 又被拒了,发现还是Ipv6的问题 .

3: 但是测试没问题啊 , 我就给apple回复了邮件, 还截了图, 无效. 

最后百度了好几天方案,也想了好几天,终于是找到了问题的解决点.

虽然项目中用的是AFN第三方来请求的,  但是也有地方用到了NSURLconnection, 这个是最关键的.

因为这个网络请求是很老的, 现在已经不支持Ipv6了, 所以需要换成NSURLsession来请求.

然后我把项目中所用到的NSURLconnection请求改成了NSURLsession请求, 再次上线,成功上架! 


最后得出以下结论, 涉及支持ipv6的其实是包括三个方面的:

1, 项目里面涉及和网络有关的SDK是否支持ipv6.

2, 项目的服务器是否支持ipv6.

3,项目里涉及和网络有关的网络请求是否支持ipv6.



你可能感兴趣的:(日常工作问题)