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没法插网线.
最后的结果是这样的:
然后运行了一个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.