曾经上架 appstore 被各种原因拒到吐血,本以为对苹果的套路早已烂熟于胸,套路嵌套路,防不胜防,这次载到阿里云上了。网络上各种教程没一个靠谱的(没办法,套路常新),还有人靠这个在淘宝上收钱的。这两天又填了一次这个坑,明确两点:
1、不用任何费用(购买教育网 ipv6 专线当然可行,但没必要)
2、苹果上架审核亲测可行。
文章带截图,不重发了,原文在这: https://qingqing.com/post/1021206/time
1
Leafove 2017-10-24 16:04:33 +08:00
支持 ipv6 是说你的应用在 ipv6 环境下也可用,而不是需要你的服务器处于 ipv6 下
|
2
SourceMan 2017-10-24 16:09:16 +08:00
然而你理解错了?
1#正解,这个支持应该是相当简单了,分享出一个 ipv6 的 SSID,手机连上去,APP 不崩溃就可以了 |
3
elgae 2017-10-24 16:10:50 +08:00
我要喷,我觉得不要把因为不读文档而没做对的事称为“坑”,显得自己有点 stupid。
|
4
mornlight 2017-10-24 16:13:30 +08:00
服务器可以仅支持 IPV4 的,你把方向搞错了。
|
5
jasontse 2017-10-24 16:13:44 +08:00 via iPad
这篇文章完全是错的。只要你不硬编码 IPv4,利用好 DNS64,服务器完全不用去折腾 IPv6。
|
6
iConnect OP |
7
hongshaoyuancn 2017-10-24 16:33:01 +08:00
挂个国外 vps 做反代
|
8
jasontse 2017-10-24 16:36:47 +08:00 via iPad
@iConnect 苹果审核的环境并不是一个 IPv6 孤岛,它可以通过 NAT64 来访问到 IPv4 网络,你只要满足这种网络兼容环境就行了。
|
9
jasontse 2017-10-24 16:37:54 +08:00 via iPad
简单来说你的这种「代理」其实苹果已经自备
|
11
mornlight 2017-10-24 16:48:46 +08:00
@iConnect #6
- 为什么 App Store 关于 IPV6 的规则并不强制要求服务器支持 IPV6 地址访问? - 因为国内绝大多数服务端都没有 IPV6 地址,他们的 App 也都好好的。 一个基本的逻辑推导。 更多的细节,可以参考其他人写的关于这条规则的经验总结。「网络上各种教程没一个靠谱的」更可能的原因是你运气不好或者方式不对。即使你完全符合要求,也有一定概率被这个原因拒掉。 当然,你的这个思路也是可以解决问题的。 |
12
iConnect OP @mornlight - 因为国内绝大多数服务端都没有 IPV6 地址,他们的 App 也都好好的。
哪个公有云服务器有提供过 IPv6 地址吗? 有一点你可能没注意,以前的方案是针对经典网络的,对专有网络的 local 配置是不对的。 |
13
jasontse 2017-10-24 17:12:50 +08:00 via iPad
|
14
Leafove 2017-10-24 17:16:59 +08:00
诶
|
15
iConnect OP @jasontse
if you ’ re writing a server-side app or other low-level networking app, you need to make sure your socket code works correctly with both IPv4 and IPv6 addresses. 这个要怎么通?你今年有上架 server-side 应用实际能过审吗? |
16
azuis 2017-10-24 17:48:04 +08:00
你没有理解苹果的意思。苹果的意思是只要在 NAT64 下面能通就行了。简而言之就是说只要没有 hard code IP 地址或者使用某些不兼容的库,都是能正常访问的。 别说国内了,国外 Azure GCE 也都没 IPv6 地址的。
|
17
azuis 2017-10-24 17:51:48 +08:00
苹果的那个回复只是个模板。之前提交的时候提供了错误的测试账号。 也说要检查 IPv6 问题,但是实际上只是测试账号问题,重新提交后即正常过审。
|
18
damondev 2017-10-24 17:54:05 +08:00
没必要啊
|
19
jasontse 2017-10-24 17:58:30 +08:00 via iPad
@iConnect
这么说吧。假设你的服务器是 123.123.123.123 不支持 v6,然后域名是 example.com 没有 AAAA。 苹果的 NAT64 网络会通过以下流程来兼容: 当域名被 DNS 服务器解析,发现没有 AAAA 记录,会被「污染」一个 64:ff9b::123.123.123.123 (非严谨写法)。 这样原本没有 AAAA 的就凭空多了一个 AAAA。 你完全可以按照原生 v6 的方式去连接这个「捏造」的地址,因为 64:ff9b: 开头的全部指向一个可以透明代理到 v4 的服务器上。 剩下的就不用动了。 |
20
iConnect OP |
21
odirus 2017-10-24 18:08:26 +08:00
最近新上架的应用检查比较严格,因为我们也遇到了,我们也不打算去猜测苹果神马意思,所以我们就把 IPV6 弄起来了,随便他测试。
1) 找一台支持 IPV6 的服务器,在服务器上做一个反向代理到你现在真正服务器即可。 2) 解析域名的 AAAA 记录到 IPV6 地址。 3) 记得测试一下从美利坚通过 IPV6 访问时的速度,至少要让延迟能够接受吧,延迟不能接受就买条好点的线路回国。 备注: 国内景安网络支持分配 IPV6 国外很多都支持分配 IPV6,例如 DigitalOcean 坑: 我们用的西部数码的 DNS,添加 AAAA 记录后不能自动同步,需要点击 “立即诊断” 才行 |
23
kylix 2017-10-25 10:43:07 +08:00
我司一个 H5 的 APP,服务器就布在公司,企业固定 ip 宽带,没有 ipv6 地址,也没布什么 ipv6,前几天已经上架了。
(ps: APP 应该是支持 ipv6 环境的) |
24
Vitta 2017-10-26 17:48:36 +08:00
用电脑创建一个 ipv6 的热点, 手机连, 录屏,打开 app, 随便操作一会, 把视频发到 itunes 里面就过了
|
25
xi_lin 2017-10-27 13:05:33 +08:00
只是日常审核抽风,你就算搭了也可以会继续被他们说拒
https://www.v2ex.com/t/357223 |