六月以后陸續(xù)有一些軟件提交市場的時候被拒了流强,癥狀基本就是無法登陸啥的慎玖。我們公司的應(yīng)用也未能幸免贮尖。
很多同學(xué)也想了不少辦法,申訴趁怔、拍視頻啥的都有湿硝,有人成功有人失敗。但是如果蘋果不能再自己的測試環(huán)境下測試成功润努,基本就還是要被拒的关斜。
先分析一下情況,很多開發(fā)者抱怨自己按照蘋果給出的方法任连,在自己電腦上搭了 IPv6 的環(huán)境測試了蚤吹,沒有問題,為啥一提交審核就不行了呢?這里就要看一下本機搭的這個 IPv6 環(huán)境到底是怎么回事裁着,它到底能驗證什么繁涂。
蘋果提供的方法是幫我們創(chuàng)建一個 NAT64 的網(wǎng)絡(luò),這里先要搞清楚啥是 NAT64. 其實簡單來說二驰,就是這樣的:
所以扔罪,手機和 Mac 之間是 IPv6 沒錯,但 Mac 和你的服務(wù)器之間還是 IPv4 連接桶雀。如果這項測試通過矿酵,可以說明:你的客戶端應(yīng)用在 IPv6 網(wǎng)絡(luò)下,是(基本)沒有問題的矗积,但是無法驗證你的服務(wù)器能夠?qū)?IPv6 網(wǎng)絡(luò)做出正確的響應(yīng)全肮。
然而,蘋果審核的時候棘捣,卻是要去 DNS 服務(wù)器詢問你的服務(wù)器的 IPv6 地址辜腺,然后進行訪問。如果查詢不到 IPv6 地址乍恐,可能會進而詢問 IPv4 地址评疗,然后進行轉(zhuǎn)換使用。蘋果明確表示服務(wù)器不需要支持 IPv6茵烈,但是有一點蘋果沒有指出來百匆,那就是,雖然你的服務(wù)器不用支持 IPv6呜投,但是必須正確響應(yīng) IPv6 的 DNS 查詢加匈。
如何驗證呢?仑荐?使用以下命令即可:
$ dig +nocmd +nostats example.com AAAA
如果返回的 status 為 NOERROR矩动, 那基本就沒什么問題,但是一定要在多個網(wǎng)絡(luò)環(huán)境下測試都通過才行释漆。如果返回的是其他的響應(yīng),尤其是 SERVFAIL 的情況篮迎,那就基本杯具了男图。由于你已經(jīng)驗證了客戶端沒有問題,現(xiàn)在要做的甜橱,就是催著你的運維逊笆、后臺啥的,趕緊去改 DNS 配置岂傲,直到穩(wěn)定返回 NOERROR 為止难裆。