1.審核4.3主要是app的各個(gè)部分各種重復(fù),比如常見的我們的代碼部分重復(fù),還有非代碼部分相似或者重復(fù)
1.1 代碼重復(fù)
1.類名
2.函數(shù)名
3.屬性名稱
4.靜態(tài)字符串
5.類函數(shù)順序
6.函數(shù)結(jié)構(gòu)
1.2 非代碼重復(fù)
1.圖片資源(圖片像素級)
2.info.plist里面權(quán)限文案
3.app名稱
4.多語言文件Localizable.strings
5.App connect上面所填寫的app信息(標(biāo)題,副標(biāo)題,關(guān)鍵詞,描敘文案,展示的截圖,Url地址,手機(jī)號信息,個(gè)人信息等)
6.后端數(shù)據(jù)接口url
7.電腦環(huán)境(網(wǎng)絡(luò)ip等)
8.app功能,ui交互
9.提交的app類型飽和(比如社交直播等)
2.蘋果審核機(jī)制
現(xiàn)在是人工智能時(shí)代,蘋果審核也一樣是智能化,嚴(yán)格意義上講沒有真正的人工審核,90%都是機(jī)器完成的。審核流程分為:機(jī)器靜態(tài)審核,機(jī)器動(dòng)態(tài)審核,人工審核三個(gè)部分。
2.1 機(jī)器靜態(tài)審核
2.1.1 審核靜態(tài)代碼部分
機(jī)器對ipa包代碼進(jìn)行靜態(tài)審核分析包括:info.plist權(quán)限文案,圖片資源,多語言文件Localizable.strings,靜態(tài)字符串,類名,函數(shù)名,代碼邏輯結(jié)構(gòu)如隱藏開關(guān)代碼(這里主要是通過機(jī)器學(xué)習(xí)已經(jīng)發(fā)現(xiàn)被下架包的開關(guān)邏輯特征做標(biāo)記,如果下次審核遇到類似標(biāo)記代碼可能會(huì)被拒),如果掃描發(fā)現(xiàn)和App store現(xiàn)有的包相似度比較高,以及和已經(jīng)下架的包如馬甲包進(jìn)行比較分析相似度過高,機(jī)器會(huì)直接拒絕,甚至封號處理
2.1.1 審核靜態(tài)元數(shù)據(jù)部分
機(jī)器對App Connect填寫信息如標(biāo)題,副標(biāo)題,關(guān)鍵詞,描敘文案,展示的截圖,Url地址,手機(jī)號信息,個(gè)人信息等進(jìn)行比較分析,如果相似度高一樣會(huì)被4.3。
同時(shí)也會(huì)對開發(fā)者賬號信息(支付信息,注冊信息)進(jìn)行關(guān)聯(lián)審核,比如被關(guān)聯(lián)的開發(fā)賬號違規(guī)封號,那么當(dāng)前開發(fā)賬號可能就會(huì)封號處理。
2.2 機(jī)器動(dòng)態(tài)審核
機(jī)器會(huì)自動(dòng)安裝并且運(yùn)行ipa就像自動(dòng)化測試一樣機(jī)器操作app進(jìn)行測試審核,當(dāng)然蘋果機(jī)器自動(dòng)審核會(huì)比自動(dòng)化測試更加先進(jìn)強(qiáng)大,機(jī)器動(dòng)態(tài)審核過程中會(huì)自動(dòng)輸入賬號信息,甚至注冊賬號,接口url和數(shù)據(jù)字段分析(和已經(jīng)下架的包接口數(shù)據(jù)字段做比較),界面截圖UI控件布局結(jié)構(gòu)進(jìn)行比較分析,如果相似度高那么也會(huì)自動(dòng)4.3被拒。
2.3 人工審核
當(dāng)機(jī)器審核沒有被拒時(shí)審核流程會(huì)走到人工這里,人工也主要是參考機(jī)器生成的審核報(bào)告,報(bào)告上面會(huì)有各種重復(fù)指標(biāo)(比如和某某app相似度50%等等指標(biāo)特征),人工會(huì)進(jìn)行確認(rèn),如果核實(shí)確實(shí)重復(fù)或者相似度很高那么也會(huì)4.3被拒。
3. 4.3被拒處理方案
既然4.3是因?yàn)楦鞣N重復(fù)導(dǎo)致的,那么就處理那些重復(fù)或者相似高的問題就可以,只要處理為不重復(fù)或者相似度低一般審核就沒問題,這里分三個(gè)部分處理:開發(fā)者賬號,代碼,元數(shù)據(jù)處理
3.1 開發(fā)者賬號
開發(fā)者賬號不要那種批量注冊賬號,容易出現(xiàn)不穩(wěn)定莫名其妙封號,賬號權(quán)重級別也不高,審核會(huì)更加仔細(xì)嚴(yán)格
3.2 代碼
代碼處理一般需要大量修改翻新,可以人工手動(dòng)去翻新修改也可以使用比較成熟的翻新混淆軟件進(jìn)行處理,人工就會(huì)耗時(shí)并且修改翻新不徹底可能依然4.3問題。
代碼處理可以分為代碼名稱符號的修改,和代碼結(jié)構(gòu)的修改。
3.2.1 代碼名稱符號修改
主要處理:代碼的文件名,類名,函數(shù)名稱,靜態(tài)字符串,圖片資源名稱,xib,storyboard,info.plist權(quán)限文案,多語言文件Localizable.strings,后端接口數(shù)據(jù)字段名稱等翻新混淆,讓這些代碼符號名稱和之前的代碼不要出現(xiàn)大量重復(fù)或者相似就可以。
3.2.2 代碼結(jié)構(gòu)修改
代碼結(jié)構(gòu)主要是插入混淆無用代碼(插入干擾垃圾函數(shù))打亂原有代碼執(zhí)行順序,包括打亂原有類里面函數(shù)定義的順序,函數(shù)體里面代碼執(zhí)行順序,添加額外垃圾文件并且自動(dòng)和原有項(xiàng)目代碼進(jìn)行融合調(diào)用,還可以添加垃圾圖片資源以稀釋圖片資源重復(fù)度,翻新整個(gè)圖片顏色不僅僅是改hash和md5值。
3.2 元數(shù)據(jù)處理
App connect上面所填寫的app信息(標(biāo)題,副標(biāo)題,關(guān)鍵詞,描敘文案,展示的截圖,Url地址,手機(jī)號信息,個(gè)人信息等)進(jìn)行修改不要和之前類似或者重復(fù),比如之前app名稱叫:即刻天氣,現(xiàn)在改為:諸葛天氣,這就存在相似,不一定會(huì)被拒但是肯定把這兩個(gè)相似名稱的app進(jìn)行審核比較分析,所以盡量做到不相似和重復(fù)。
4. 總結(jié)
最好我們打包提包電腦環(huán)境和ip也進(jìn)行隔離處理,比如使用windows服務(wù)器進(jìn)行提包審核,這里可以使用國外服務(wù)器,因?yàn)椴煌瑖覍徍藱C(jī)制是不一樣的,以及人工審核人國籍也不一樣,目前來看中國是比較嚴(yán)格的。
app類型也不要選擇目前app store大量存在的種類比如社交,這類功能交互同質(zhì)化嚴(yán)重,不太容易過。如果app功能比較單一可以把多個(gè)app融合為一個(gè)app來上架。
總之4.3被拒就是各種重復(fù)導(dǎo)致的,那么我們只需要盡量降低app的各方面重復(fù)概率,這樣通過4.3概率就會(huì)大大提高,最重要是耐心和信心和蘋果斗智斗勇,并且在提包過程中需要不斷總結(jié)和學(xué)習(xí)經(jīng)驗(yàn),這樣才會(huì)對審核形成自己的認(rèn)知操作起來更從容一些。
代碼混淆工具可以使用一些大廠生產(chǎn)的混淆工具,一般價(jià)格較高
也可以使用市面上口碑性價(jià)比較高的混淆工具
當(dāng)然,已經(jīng)多次出現(xiàn)4.3的包,一定要全部翻新、翻新、翻新,隔離、隔離、隔離