第一次寫文章厦凤,不喜勿噴鼻吮,謝謝。
? ? ? ? 最近较鼓,除了xocde8和iOS10椎木,還有一個(gè)問(wèn)題讓我們非常頭大,也是自六月一號(hào)以來(lái)的老大難問(wèn)題博烂,那就是因?yàn)閕pv6問(wèn)題被拒絕上架香椎,有的同學(xué)很幸運(yùn),真的是幸運(yùn)禽篱,沒(méi)有遇到畜伐,遇到這個(gè)問(wèn)題的人可是愁白了頭,又花錢有拍視頻的躺率,最后還是不行烤礁,我就說(shuō)說(shuō)我自己的項(xiàng)目吧!
最開始的時(shí)候被拒一臉萌比肥照,這是什么狗屁原因脚仔?ipv6? 沒(méi)聽說(shuō)過(guò)舆绎!開始瘋狂的找資料鲤脏,了解到自己可以搭建一個(gè)NAT64網(wǎng)絡(luò)來(lái)測(cè)試,嘿吕朵,這下好了猎醇,趕緊弄個(gè)測(cè)試了一下。沒(méi)問(wèn)題芭!A蛩弧!再次上傳梧税,然后你懂的沦疾,又被拒了,原來(lái)自己搭建的環(huán)境第队,手機(jī)和 Mac 之間是 IPv6 沒(méi)錯(cuò)哮塞,但 Mac 和你的服務(wù)器之間還是 IPv4 連接。如果測(cè)試通過(guò)凳谦,只能說(shuō)明客戶端應(yīng)用在 IPv6 網(wǎng)絡(luò)下忆畅,是沒(méi)有問(wèn)題的,但是無(wú)法驗(yàn)證你的服務(wù)器能夠?qū)?IPv6 網(wǎng)絡(luò)做出正確的響應(yīng)尸执。
而蘋果審核的時(shí)候家凯,是要去 DNS 服務(wù)器詢問(wèn)你的服務(wù)器的 IPv6 地址缓醋,然后進(jìn)行訪問(wèn)。
所以绊诲,自己搭建的NAT64網(wǎng)絡(luò)下測(cè)試沒(méi)有問(wèn)題送粱,并不能保證呢一定能通過(guò)審核,怎么辦呢驯镊?
閑話不多說(shuō)了葫督,說(shuō)一下我的socket是怎么通過(guò)的竭鞍。
socket網(wǎng)絡(luò)框架怎么通過(guò)審核板惑,如圖:
首先,確保你用的是域名偎快,而非IP地址冯乘。
然后,第三方網(wǎng)絡(luò)框架版本是不是支持IPv6晒夹,這個(gè)網(wǎng)上有很多資料裆馒,不再贅述。
然后丐怯,確保服務(wù)器能夠響應(yīng)ipv6的DNS響應(yīng)喷好,驗(yàn)證方法:
? ? ? ? ? ? ? ?終端輸入 ? ?dig +nocmd +nostats 你的域名 AAAA
返回的 status 是 NOERROR, 那基本就沒(méi)什么問(wèn)題读跷,如果返回的是其他響應(yīng)梗搅,那就讓你們服務(wù)器的人去做DNS配置,知道響應(yīng)NOERROR效览。
什么无切?都沒(méi)問(wèn)題?丐枉?哆键??那么重點(diǎn)來(lái)了
我們添加一個(gè)域名解析:
你會(huì)發(fā)現(xiàn)socket框架里沒(méi)有這個(gè)方法瘦锹,好吧籍嘹,那我們自己寫:
在Asyncsocket.h中添加:
在Asyncsocket.m中的實(shí)現(xiàn)方法如圖:
是不是很長(zhǎng),貼出來(lái)弯院,主要是我也不明白他的原理噩峦,希望有大神給我解釋一下,我只是發(fā)現(xiàn)這樣會(huì)通過(guò)審核抽兆,希望對(duì)還在上線路上的同學(xué)們一點(diǎn)建議识补。
補(bǔ)充一點(diǎn):還有人提出為什么http不能訪問(wèn)網(wǎng)絡(luò),因?yàn)閕OS9開始辫红,蘋果默認(rèn)不允許使用http訪問(wèn)凭涂,要用https祝辣,解決辦法是關(guān)閉ATS,但是此方法將在2017.1.1號(hào)不允許使用了切油,具體解決辦法蝙斜,以后再更新吧。
我就不貼下載網(wǎng)址了澎胡,想要源碼的直接私聊我吧孕荠。。攻谁。稚伍。。戚宦。个曙。
第一次寫文章,不喜勿噴受楼,謝謝垦搬。