苹果审核 ipv6 的问题

2021-07-18 17:58:46 +08:00
 ntop

苹果小白,刚刚把公司的应用写完了,准备上架,哪知道第一天就被苹果拒绝了,理由是「 App 功能不完善,登录不了账户」,还给了一张登录时候提示网络错误的截图。我自己测试了下,是可以正常登录的。后来有在网上搜索下,发现是因为 iPv6 的原因,苹果会在 ipv6-only 的环境下测试(而我们的服务器是不支持 ipv6 的)。在网上搜了一圈,看到一篇觉得应该靠谱的文章: https://developer.aliyun.com/article/641639 应该是出自阿里云的官方。

想问下大家,大家都是怎么解决 ipv6 的问题的,我用的是阿里云的 ECS,上面的链接的解决方案是不是靠谱,一般选择其中的方案 1 还是方案 2 ?或者还有其它简单的解决方案适合我这种小白使用。

这两天一直在研究这个问题,真的太痛苦了,不太懂这种底层网络的问题。。。o(╥﹏╥)o

8052 次点击
所在节点    iDev
52 条回复
Mitt
2021-07-18 18:19:52 +08:00
跟 ipv6 无关,现在没有强制 ipv6 支持,我们公司的 APP 都是 ipv4 only 的,苹果审核用的是公司网络,是美国 IP,你或许要检查一下海外访问的情况
hslx111
2021-07-18 18:20:20 +08:00
文章里的方法还是靠谱的,毕竟阿里搞 IPv6 已经好几年了。然后选择哪个方案,文章里已经说明了适用场景,选择适合自己的就好。
ntop
2021-07-18 18:40:15 +08:00
@Mitt 我开 vpn 使用美国的 ip 访问也是正常的,想问下贵司的服务器是否部署了海外节点,因为我们是国内的 app 用的也是阿里云的服务器。使用美国的 vpn 节点访问只是速度慢点,但是网络还是正常的。
mringg
2021-07-18 19:13:16 +08:00
确实跟 ipv6 没有关系,解决问题的方向有点错了
mringg
2021-07-18 19:15:26 +08:00
#4 说的有点不严谨,没有 ipv6 网络一样可以上架。可以再搜搜,这块改程序就好。
Jirajine
2021-07-18 19:26:57 +08:00
不是说强制要求必须能在纯 ipv6 网络下运行么。本地可以用 nat46 模拟。
ntop
2021-07-18 19:34:29 +08:00
@mringg 从原理上来说没有 ipv6 也是可以上架的,我链接的那篇文章也强调了这点。但是问题在于走 nat64 网络的时候会发生意想不到的结果,这个问题更难解决呀,如果有的话希望可以提供下方案。我们 App 本身没有使用 ipv4 的相关 api 的本身支持 ipv6,可以排除 app 自身的原因。
Zhuzhuchenyan
2021-07-18 20:08:37 +08:00
就算不用 ipv6 负载均衡实例和地址转换服务也是可以解决的,毕竟能省一点是一点
既然是 ecs,大部分 ecs 实例天然支持 ipv6 的,然后直接用 ecs 的 ipv6 地址做 AAAA 解析就好。如果不想暴露 ipv6 地址在审核通过后取消掉 AAAA 解析就好(谨慎使用)。
现代 web 框架的网络层应该是都支持双栈 tcp 协议的,所以理论上解析做完了以后没有代码要改,还是很方便的。
Mitt
2021-07-18 21:20:44 +08:00
@ntop #3 没有部署海外节点,是腾讯云的服务器,也没有上 CDN,如果你本地没办法复现的话,也许你可以试试沟通一下说明本地使用是正常的,让对方再试一次,或者你再提交一个版本审核,然后网络报错的时候可以输出多一点信息来辅助确认问题,比如域名解析错误,IP 访问错误,或者是 https 证书错误也都是有可能的
mytsing520
2021-07-18 21:56:48 +08:00
你就简单点支持 IPv4+IPv6 双栈网络就行了
crystom
2021-07-18 22:00:35 +08:00
用 mac 的热点分享功能就可以模拟这种环境,服务器不需要支持 v6
mringg
2021-07-18 22:01:27 +08:00
检查下调用接口是不是直接用的 ip 地址,有可能是这个原因。


自 2016 年 6 月 1 日起,提交至 App Store 的所有 app 都必须支持纯 IPv6 网络。由于 NSURLSession 和 CFNetwork API 都已支持 IPv6,大多数 app 不需要进行任何修改。
""""但如果您的 app 使用的是 IPv4 专用的 API 或硬编码的 IP 地址,则需要进行修改。""""
在将 app 提交至 App Store 进行审核之前,请务必测试 IPv6 兼容性。
https://developer.apple.com/cn/support/ipv6/
v2tudnew
2021-07-18 22:17:02 +08:00
挺搞笑的,苹果自家 N 多域名到现在都没有 AAAA 解析。
daimaosix
2021-07-18 22:23:52 +08:00
@v2tudnew 因为大多 CDN 本身支持 IPv4 转换到 IPv6
daimaosix
2021-07-18 22:24:47 +08:00
上个 CDN 吧楼主,大多数 CDN 都支持 IPv6 访问,你不用做什么改造。
azuis
2021-07-18 22:28:09 +08:00
并不需要 IPv6 网站,只要你的 App 里面没有硬编码 IP 地址就可以正常连接的。
ntop
2021-07-18 22:51:19 +08:00
爬了一个 V2EX 的老帖子,我看楼主也没有采取什么措施,最后是让苹果审核那边多试几次。另外一个方案是部署海外节点。。。现在越看越闹心了。。问题越来越不清楚了。。原贴: https://www.v2ex.com/t/357223#reply47
ntop
2021-07-18 22:53:44 +08:00
@azuis 没有硬编码呢,而且我在服务器日志上查到了苹果那边测试时候的日志,日志还是成功的。真不明白到底哪里出了问题。
ntop
2021-07-18 23:13:27 +08:00
@daimaosix 好的,谢谢。不知道 CDN 贵不贵我没有搞过这个。
tsening
2021-07-18 23:14:24 +08:00
如果是网络问题的话开启一下阿里云的全站加速好了,大不了审核完了关掉?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/790224

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX