路漫漫其修遠(yuǎn)兮饮怯,吾將上下而求索!
- 坦白講,小編一向是以文雅自居榛泛,思索了很久才決定用這個(gè)標(biāo)題的蝌蹂,大概只有這個(gè)標(biāo)題才能精準(zhǔn)的表達(dá)此刻的心情,如果說(shuō)攻城獅的煩惱是敲不完的代碼挟鸠,改不完的bug叉信,那么作為一名iOS開(kāi)發(fā)攻城獅那就是敲不完的代碼,改不完的bug艘希,逃不過(guò)的被拒硼身。蘋(píng)果作為高科技的話事人一向?qū)μO(píng)果app審核是很?chē)?yán)的,有時(shí)候辛辛苦苦寫(xiě)了幾個(gè)月的代碼覆享,就在審核的時(shí)候佳遂,被拒n次,拒到你懷疑人生撒顿,今天我們來(lái)聊聊這日了狗的IPv6!
首次被拒
小編最近上線公司云風(fēng)商城app丑罪,測(cè)得差不多了,就發(fā)布上線了,本想著吩屹,既不是游戲類(lèi)app跪另,又不是體彩類(lèi)app,上個(gè)線不是so easy,但是我以為的只是我以為的我以為的而已煤搜,下面是被拒時(shí)候蘋(píng)果給出的附件截圖免绿。當(dāng)看個(gè)這個(gè)截圖的時(shí)候,小編第一個(gè)反應(yīng)是擦盾,此事必要蹊蹺嘲驾,掐指算一算,大概有兩點(diǎn)原因
- 難道是蘋(píng)果審核的時(shí)候迹卢,恰好這個(gè)時(shí)候辽故,服務(wù)端小伙伴在部署環(huán)境,重啟服務(wù)器腐碱,導(dǎo)致蘋(píng)果審核人員登錄不上去誊垢,然后被打回來(lái)了,這未免太巧了喻杈!
- 或許是測(cè)完人員修改iTunes Connect中測(cè)試賬號(hào)的密碼彤枢,導(dǎo)致登錄不上去狰晚!
基于這兩點(diǎn)猜想筒饰,周六小編冒著天寒地凍前往公司,用iTunes Connect中測(cè)試賬號(hào)登錄了一下,沒(méi)有問(wèn)題,于是壁晒,打包重新提交審核了瓷们,并且還給蘋(píng)果寫(xiě)了一封加急郵件,想著明天能上線秒咐,就很開(kāi)心的回去了谬晕!
二次被拒
等到晚上睡覺(jué)之前去iTunes Connect查看,發(fā)現(xiàn)又被拒了携取,這次蘋(píng)果給出的截圖是一個(gè)空白頁(yè),弄得小編很懵逼攒钳,不過(guò)它在全文提到IPv6這個(gè)關(guān)鍵詞比較多.
說(shuō)起IPv6這個(gè)東西,對(duì)于iOS開(kāi)發(fā)的小伙伴來(lái)說(shuō)一定不陌生雷滋,2016年5月份橫空出世,掀起了一段適配IPv6的浪潮不撑,所有提交至蘋(píng)果App Store的iOS應(yīng)用申請(qǐng)必須要支持IPv6-only下一代互聯(lián)網(wǎng)標(biāo)準(zhǔn)。要搞懂這個(gè)問(wèn)題晤斩,我們就不得不說(shuō)說(shuō)IPv4和IPv6這兩個(gè)概念了
IPv4的定義
- 目前的全球因特網(wǎng)所采用的協(xié)議族是TCP/IP協(xié)議族焕檬。IP是TCP/IP協(xié)議族中網(wǎng)絡(luò)層的協(xié)議,是TCP/IP協(xié)議族的核心協(xié)議澳泵。目前IP協(xié)議的版本號(hào)是4(簡(jiǎn)稱(chēng)為IPv4)实愚,發(fā)展至今已經(jīng)使用了30多年。 IPv4的地址位數(shù)為32位,也就是最多有2的32次方的電腦可以聯(lián)到Internet上腊敲。 近十年來(lái)由于互聯(lián)網(wǎng)的蓬勃發(fā)展击喂,IP位址的需求量愈來(lái)愈大,使得IP位址的發(fā)放愈趨嚴(yán)格碰辅,各項(xiàng)資料顯示全球IPv4位址可能在2005至2008年間全部發(fā)完茫负。
IPv6的定義
- IPv6是下一版本的互聯(lián)網(wǎng)協(xié)議,也可以說(shuō)是下一代互聯(lián)網(wǎng)的協(xié)議乎赴,它的提出最初是因?yàn)殡S著互聯(lián)網(wǎng)的迅速發(fā)展忍法,IPv4定義的有限地址空間將被耗盡,地址空間的不足必將妨礙互聯(lián)網(wǎng)的進(jìn)一步發(fā)展榕吼。為了擴(kuò)大地址空間饿序,擬通過(guò)IPv6重新定義地址空間。IPv6采用128位地址長(zhǎng)度羹蚣,幾乎可以不受限制地提供地址原探。按保守方法估算IPv6實(shí)際可分配的地址,整個(gè)地球的每平方米面積上仍可分配1000多個(gè)地址顽素。在IPv6的設(shè)計(jì)過(guò)程中除了一勞永逸地解決了地址短缺問(wèn)題以外咽弦,還考慮了在IPv4中解決不好的其它問(wèn)題,主要有端到端IP連接胁出、服務(wù)質(zhì)量(QoS)型型、安全性、多播全蝶、移動(dòng)性闹蒜、即插即用等。
IPv6跟IPv4相比抑淫,有哪些優(yōu)勢(shì)
- 從地址空間的角度講绷落,IPv4中規(guī)定IP地址長(zhǎng)度為32,即有232-1個(gè)地址始苇;而**IPv6**中IP地址的長(zhǎng)度為128砌烁,即有2128-1個(gè)地址。
- 從路由表的角度講,IPv6的地址分配一開(kāi)始就遵循聚類(lèi)(Aggregation)的原則催式,這使得路由器能在路由表中用一條記錄(Entry)表示一片子網(wǎng)函喉,大大減小了路由器中路由表的長(zhǎng)度,提高了路由器轉(zhuǎn)發(fā)數(shù)據(jù)包的速度蓄氧。
- 增強(qiáng)的組播(Multicast)支持以及對(duì)流的支持(Flow-control)函似。這使得網(wǎng)絡(luò)上的多媒體應(yīng)用有了長(zhǎng)足發(fā)展的機(jī)會(huì),為服務(wù)質(zhì)量(QoS)控制提供了良好的網(wǎng)絡(luò)平臺(tái)
- 加入了對(duì)自動(dòng)配置(Auto-configuration)的支持喉童。這是對(duì)DHCP協(xié)議的改進(jìn)和擴(kuò)展撇寞,使得網(wǎng)絡(luò)(尤其是局域網(wǎng))的管理更加方便和快捷. 更高的安全性.在使用IPv6網(wǎng)絡(luò)中用戶(hù)可以對(duì)網(wǎng)絡(luò)層的數(shù)據(jù)進(jìn)行加密并對(duì)IP報(bào)文進(jìn)行校驗(yàn),這極大的增強(qiáng)了網(wǎng)絡(luò)安全
當(dāng)然了顿天,這些理論性的東西,小編覺(jué)得稍微看下蔑担,了解下個(gè)大概就可以牌废,如果你有時(shí)間深入研究也是可以的。
當(dāng)我們了解了IPV6的概念之后啤握,首先關(guān)注的事怎么解決這個(gè)問(wèn)題鸟缕?
- 對(duì)于這個(gè)問(wèn)題,小編的解決方案是
- 按照cocoachina中這個(gè)網(wǎng)址http://www.cocoachina.com/ios/20160525/16431.html 提供的方案排抬,一步一步操作懂从,本地搭建下IPv6的環(huán)境,看能不能測(cè)試通過(guò)蹲蒲,如果能測(cè)試通過(guò)番甩,那么iOS客戶(hù)端的代碼應(yīng)該是沒(méi)什么問(wèn)題的,說(shuō)明你項(xiàng)目的代碼程序用的第三方都適配了IPv6届搁。
- 把上面的操作流程錄制一段視頻缘薛,保存下來(lái),這個(gè)視頻盡可能的保證畫(huà)面清晰
- 在蘋(píng)果開(kāi)發(fā)者中心卡睦,解決方案上傳這個(gè)視頻附件宴胧,并且回復(fù)一下,至于怎么回復(fù)表锻,這個(gè)就見(jiàn)仁見(jiàn)智恕齐,你可以說(shuō),我們?cè)谧约哼@邊環(huán)境測(cè)試是沒(méi)有問(wèn)題浩嫌,附件演示視頻檐迟,請(qǐng)您重新審核补胚,祝您生活愉快!
- 這里需要強(qiáng)調(diào)一點(diǎn)码耐,如果代碼沒(méi)問(wèn)題的話,是不需要重新提交審核溶其,直接回復(fù)附件就可以了骚腥,因?yàn)槿绻阒匦绿峤粚徍耍值弥匦屡抨?duì)了瓶逃,可能需要的時(shí)間會(huì)更長(zhǎng)一些束铭!
網(wǎng)上很多人都說(shuō)上傳附件視頻就可以審核通過(guò)了,小編對(duì)這次的解決方案還是很有信心的厢绝。
三次被拒
當(dāng)天晚上打卡下班契沫,回去洗了澡,刷新下iTunes Connect頁(yè)面昔汉,發(fā)現(xiàn)又被拒了懈万,就像劉德華歌詞中那句:你就像一個(gè)劊子手把我出賣(mài),我的心彷佛被剌刀狠狠地宰,誰(shuí)會(huì)愿意接受最痛的意外会通!
這次被拒的拒絕蘋(píng)果給出的截圖還是登錄界面,連接服務(wù)器失敗的提示
這次被拒,小編心里著實(shí)埋下陰影了口予,最痛苦的不是解決不了問(wèn)題,而是問(wèn)題的癥結(jié)都找不到涕侈,叫天天不應(yīng),叫地地不靈的絕望沪停。事已至此只有不斷去谷歌,去百度裳涛,去知乎木张,后來(lái)在網(wǎng)上找到一種貌似有點(diǎn)道理的方法,大概的意思是這樣的:上傳的附近文件端三,可能蘋(píng)果審核不會(huì)看窟哺,只能把IPv6正常使用的視頻,上傳youtu.be網(wǎng)站上技肩,提供給蘋(píng)果一個(gè)鏈接且轨,審核的時(shí)候可能審核人員才會(huì)打開(kāi)。細(xì)細(xì)想來(lái)虚婿,也有點(diǎn)道理旋奢,youtu.be網(wǎng)站是美國(guó)的網(wǎng)站,上傳他們的網(wǎng)站上面去然后審核然痊,這個(gè)過(guò)程好像沒(méi)毛病!所以這一次小編的解決方案是這樣的:
①首先你得有谷歌瀏覽器作為訪問(wèn)國(guó)外網(wǎng)站使用至朗,沒(méi)有的話,可以下載一個(gè)剧浸。
②對(duì)于藍(lán)燈退出歷史舞臺(tái)锹引,而且很多VPN賬號(hào)不能使用,小編推薦使用firefly這個(gè)軟件唆香,是可以翻墻的嫌变,并且是免費(fèi)的額。
③這個(gè)時(shí)候把準(zhǔn)備的時(shí)候上傳到https://www.youtube.com/,這個(gè)鏈接需要復(fù)制到谷歌瀏覽器才能打開(kāi)的躬它,可能上傳的過(guò)程當(dāng)中需要你輸入你的谷歌賬號(hào)和密碼腾啥,沒(méi)有的注冊(cè)一個(gè)就可以了。
④拿到y(tǒng)outube網(wǎng)站生成的一個(gè)網(wǎng)址冯吓,回復(fù)一下蘋(píng)果的附件倘待,把這個(gè)鏈接也加在一個(gè)顯眼的地方。
⑤為了保險(xiǎn)起見(jiàn)组贺,小編跟楊隊(duì)商量凸舵,在郵箱中也跟蘋(píng)果那邊回復(fù)一封郵件,并且在郵箱的下面也上傳了錄制的視頻和youtube鏈接
就這樣失尖,懷著忐忑的心情打卡下班了啊奄!
四次被拒
等到第二天上班的時(shí)候贿条,發(fā)現(xiàn)還是被拒了,很憂傷增热,一種挫敗感油然而生整以!這個(gè)時(shí)候蘋(píng)果回復(fù)了一封郵件,截圖如下大概的意思是:審核部門(mén)評(píng)估你的應(yīng)用峻仇,并確定最初的拒絕反饋是有效的公黑。你的應(yīng)用程序不符合app Store評(píng)審準(zhǔn)則2.1。這下子摄咆,一下子不知道該如何是好凡蚜,使勁了渾身解數(shù),發(fā)現(xiàn)還是解決不了這個(gè)問(wèn)題吭从,本地測(cè)試了IPv6沒(méi)問(wèn)題朝蜘,也上傳了視頻,為何還是通過(guò)不了呢涩金?
這個(gè)時(shí)候小編想起來(lái)谱醇,在16年的時(shí)候加過(guò)一個(gè)叫IPv6被拒解決方案群的群,有時(shí)候自己思維定式了步做,需要換一種方式去思考副渴,專(zhuān)業(yè)的事情專(zhuān)業(yè)的人來(lái)做,正如劉國(guó)梁所說(shuō)的一樣:如果今天我們還不夠強(qiáng)全度,請(qǐng)相信別人煮剧。如果今天我們夠強(qiáng),請(qǐng)相信自己将鸵。既然自己對(duì)IPv6這個(gè)研究得不夠深勉盅,那就請(qǐng)高人指點(diǎn)指點(diǎn)吧!
對(duì)于這個(gè)專(zhuān)門(mén)解決IPv6被拒的群,進(jìn)去之后顶掉,有個(gè)群文件可以下載看看草娜,專(zhuān)門(mén)講解IPv6的,可以按照上面的方案試試一喘,如果不懂驱还,可以問(wèn)下群里的一些大神,也許會(huì)有一些頓悟凸克!
被拒了四五次,畢竟留給我們iOS開(kāi)發(fā)小組的時(shí)間也不多了闷沥,所以小編直接選擇了咨詢(xún)那個(gè)賣(mài)解決方案服務(wù)的人萎战,想著能不能花一點(diǎn)點(diǎn)錢(qián),快速把這個(gè)問(wèn)題解決了舆逃,但是后來(lái)技術(shù)主管覺(jué)得花299元解決這個(gè)問(wèn)題太貴了蚂维,否決了這個(gè)方案戳粒,讓我們直接再提交個(gè)版本去試試,碰碰運(yùn)氣。所以就這樣心不甘情不愿的又提交了一個(gè)版本虫啥,但是實(shí)際上我們都知道蔚约,通過(guò)的概率很小很小。
雖然提交了涂籽,但是小編還是很好奇那些專(zhuān)業(yè)解決問(wèn)題的團(tuán)隊(duì)苹祟,他們到底是怎么運(yùn)作的,能夠使app上線评雌,后來(lái)了解了下树枫,是這么回事,小編截個(gè)圖景东,您就一目了然了
從截圖中可以捕捉兩點(diǎn)信息:
①通俗點(diǎn)講砂轻,實(shí)際上你需要購(gòu)買(mǎi)他的服務(wù)器服務(wù),他作為一個(gè)中轉(zhuǎn)服務(wù)器斤吐,能夠讓你的app在審核的時(shí)候順利的訪問(wèn)IPv6搔涝,但是這個(gè)并不是長(zhǎng)久之計(jì),你需要依賴(lài)商家那邊的服務(wù)器和措,也就是說(shuō)過(guò)期之后可能還是會(huì)被拒体谒,又得購(gòu)買(mǎi)商家的服務(wù),說(shuō)到這里小編想感嘆一句:商機(jī)真的是無(wú)處不在臼婆!
②如果本地搭建環(huán)境測(cè)過(guò)了抒痒,那么如果還被拒,那十有八九是服務(wù)端那邊問(wèn)題颁褂,可能他們需要配置或者處理一些東西故响,但是對(duì)于不懂服務(wù)端只是的iOS開(kāi)發(fā)工程師,可能跟服務(wù)端溝通這個(gè)問(wèn)題真的不是很順暢颁独,互相都覺(jué)得不是自己的鍋彩届,小編也是很無(wú)奈啊誓酒!
下午的時(shí)候小編也一直在想樟蠕,怎么樣模擬美國(guó)網(wǎng)絡(luò)環(huán)境去訪問(wèn)我們這個(gè)app,或者調(diào)試一下能獲得什么信息靠柑,但是沒(méi)有美國(guó)的朋友寨辩,這個(gè)想法也只是想想而已。
真想大白
晚上部門(mén)聚餐的時(shí)候歼冰,在樓下我們跟安卓小伙伴閑聊技術(shù)靡狞,他無(wú)意中說(shuō)出了一句:可能是你發(fā)請(qǐng)求的時(shí)候傳的本地時(shí)間不是北京時(shí)間所導(dǎo)致的,之前你們h5版本也出現(xiàn)這個(gè)問(wèn)題隔嫡。這話一出甸怕,突然有種醍醐灌頂?shù)母杏X(jué)甘穿,我們趕緊把手機(jī)設(shè)置里的時(shí)區(qū)調(diào)到紐約時(shí)區(qū),發(fā)現(xiàn)網(wǎng)絡(luò)真的訪問(wèn)不了,一時(shí)間仿佛找到了問(wèn)題的癥結(jié)梢杭,飯桌上跟服務(wù)端大當(dāng)家也溝通這個(gè)問(wèn)題温兼,他也默認(rèn)了時(shí)區(qū)會(huì)導(dǎo)致這個(gè)問(wèn)題,他解釋:服務(wù)端主要拿本地時(shí)間做一些安全性校驗(yàn),但是只有北京時(shí)間能返回?cái)?shù)據(jù)武契!
吃完飯就回公司研究這個(gè)問(wèn)題募判,把手機(jī)本地系統(tǒng)時(shí)間轉(zhuǎn)化為指定時(shí)區(qū)時(shí)間,代碼如下通過(guò)測(cè)試紐約時(shí)區(qū)吝羞,其他國(guó)外時(shí)區(qū)兰伤,都能訪問(wèn)App。很快我們就重新發(fā)布個(gè)版本钧排,過(guò)了一個(gè)小時(shí)敦腔,晚上10點(diǎn)多的時(shí)候,就審核通過(guò)了恨溜,這里還是要贊一下蘋(píng)果的審核時(shí)間符衔,是越來(lái)越短,幾乎跟安卓差不多了糟袁!
個(gè)人總結(jié):
對(duì)于IPv6這個(gè)問(wèn)題判族,雖然以最后一場(chǎng)烏龍結(jié)束,但是小編還是簡(jiǎn)單做個(gè)總結(jié)项戴,畢竟優(yōu)秀的技術(shù)來(lái)自不斷的自我歸納形帮!
①只有出現(xiàn)連接服務(wù)器失敗,或者訪問(wèn)網(wǎng)絡(luò)錯(cuò)誤的提示周叮,蘋(píng)果會(huì)統(tǒng)統(tǒng)視為IPv6的問(wèn)題辩撑,所以當(dāng)你收到IPv6的被拒郵件的時(shí)候,你需要往兩方面去思考仿耽,一方面是真的是IPv6問(wèn)題合冀,一方面還是說(shuō)服務(wù)端的配置,或者安全校驗(yàn)問(wèn)題
②當(dāng)我們以IPv6問(wèn)題去解決被拒的時(shí)候项贺,上傳視頻到附件君躺,或者上傳視頻到y(tǒng)outube這些步驟都是少不了的,因?yàn)橐苍S真的是國(guó)外網(wǎng)絡(luò)不好就訪問(wèn)不了你的App开缎,你上傳了演示視頻棕叫,可能真的可以審核,畢竟博客上那些說(shuō)法沒(méi)有必要空穴來(lái)風(fēng)
③當(dāng)你網(wǎng)上的方法試遍了啥箭,還是解決不了谍珊,小編建議還是找個(gè)IPv6的群找個(gè)專(zhuān)業(yè)的能手咨詢(xún)下,至少這個(gè)領(lǐng)域他們很專(zhuān)業(yè)急侥,從他們的言語(yǔ)你有可能會(huì)有新收獲砌滞,對(duì)IPv6有新認(rèn)識(shí),這對(duì)你解決這個(gè)問(wèn)題是有幫助的坏怪,如果實(shí)在趕進(jìn)度贝润,購(gòu)買(mǎi)他的服務(wù)先通過(guò)審核也無(wú)妨,畢竟老板需要的是進(jìn)度铝宵,怎么解決的他并不看重打掘!
這里我想吐槽一下服務(wù)端决帖,不知道為什么這邊我傳一個(gè)錯(cuò)誤的時(shí)間字符串,居然不走AFN網(wǎng)絡(luò)請(qǐng)求中的成功方法蓖捶,走的是失敗方法地回,按道理只要URL對(duì)就可以跟服務(wù)端交互,就會(huì)走success方法俊鱼,但是服務(wù)端直接讓你走failure方法刻像,這點(diǎn)上小編實(shí)在是不解,可能是后臺(tái)架構(gòu)或者第三方框架的鍋亭引,但是這種方式肯定是不合理的!
引用
一盞燈绎速, 一片昏黃; 一簡(jiǎn)書(shū)焙蚓, 一杯淡茶纹冤。 守著那一份淡定, 品讀屬于自己的寂寞购公。 保持淡定萌京, 才能欣賞到最美麗的風(fēng)景! 保持淡定宏浩, 人生從此不再寂寞知残。
詩(shī)的引用
朝辭白帝彩云間
千里江陵一日還
兩岸猿聲啼不住
輕舟已過(guò)萬(wàn)重山