這里強烈推薦一款好用的iOS代碼混淆工具支持(oc码撰、swift、c++吆倦、dart):Github:https://github.com/netyouli/WHC_ConfuseSoftware
1.機審卡關(guān)越加嚴重
隨著蘋果審核機制的不斷升級,上架難度也越來越大瑟由。嚴格的來說蘋果的審核隨著計算機技術(shù)的發(fā)展而升級济竹,計算機代替人工的占比也越來越大痕檬。目前蘋果的審核中計算機審核已起到了一定的主導(dǎo)地位。機審是一種流程化篩查工具送浊,只要仔細研究過蘋果審核的開發(fā)者都能夠發(fā)現(xiàn)梦谜,現(xiàn)在應(yīng)用審核階段越來越多的條款駁回不再受到人為因素的影響。如今各類應(yīng)用4.3概率越來越高而且代碼混淆袭景,加垃圾代碼的效果不佳唁桩。
2.iOS重復(fù)應(yīng)用4.3
Guideline 4.3 - Design - SpamYour app duplicates the content and functionality of apps submitted to the App Store, which is considered a form of spam.Apps that simply duplicate content or functionality create clutter, diminish the overall experience for the end user, and reduce the ability of developers to market their apps.You will experience a delayed review process if you deliberately disregard the App Store Review Guidelines, ignore previous rejection feedback in future app submissions, or use your app to mislead or deceive users.
2.1 定義
4.3是指同一應(yīng)用程序重復(fù)提交審核,而不是指同類型應(yīng)用耸棒。大部分開發(fā)者都會復(fù)制上架同一應(yīng)用朵夏,馬甲包越多用戶也就越多,這就是大家奮力去提馬甲包原因榆纽。蘋果是接受同類型產(chǎn)品的上架仰猖,但不接受同一應(yīng)用,這一點是開發(fā)者必須要明白奈籽,如果在開發(fā)馬甲包的時候連自己都騙不了還怎么去騙蘋果公司饥侵,這樣才能更好的優(yōu)化應(yīng)用以助于通過4.3。蘋果審核背后的邏輯不透明衣屏,小七從多年的經(jīng)驗中得出以下2個觀點躏升,希望能讓開發(fā)者們有一絲啟發(fā)。
2.2「4.3」只會出現(xiàn)在機審
理由:
①目前App Store應(yīng)用數(shù)量不計其數(shù)狼忱,不能實現(xiàn)依靠人工記憶判斷重復(fù)應(yīng)用膨疏。
②設(shè)備激活和截圖對比是審核過程的固定步驟,因此不能認為收到截圖即是已通過機審钻弄,需要從多方面因素判斷拒審原因佃却。
③機審代碼后會生成評估報告,同時真機安裝應(yīng)用供審核官運行測試窘俺。審核官會根據(jù)評估報告確定是否繼續(xù)進行測試饲帅,當繼續(xù)測試軟件時計算會同時進行自動截圖對比,當相似度高時審核官就會直接打回應(yīng)用瘤泪,所以這時判斷4.3情況還是計算機灶泵。
Tips:
正常應(yīng)用審核中都會進行兩次裝機
?第一次是計算機裝機測試,截取首屏圖对途。所以首屏圖每次提交必須保證不同赦邻。
?第二裝機是審核官進行真機測試。
2.3 蘋果無法從代碼上杜絕4.3
理由:
①蘋果允許第三方調(diào)用实檀,所以一定會出現(xiàn)部分重復(fù)代碼惶洲。
② 蘋果機審只會對部分代碼進行掃描對比按声,因為全源碼對比效率低下,有悖于蘋果的高效的精神
3.如何規(guī)避4.3
目前解決4.3問題的主要方式是添加垃圾代碼和使用混淆工具湃鹊,不同的開發(fā)者使用同一種方式儒喊,卻是截然不同的效果镣奋。原因是無法通過4.3的開發(fā)者不懂如何正確使用這兩種方法币呵。只有方法對了,才能出好的效果侨颈。以下三點就是小七多年上架經(jīng)驗中總結(jié)出來的規(guī)避4.3方法:
3.1 代碼層面:
①垃圾代碼不是垃圾余赢,添加垃圾代碼是一項技術(shù)問題,不同的人添加垃圾代碼的效果卻不相同哈垢,添加垃圾代碼并不是真的添加垃圾代碼妻柒,而這邊所說的垃圾代碼是指可運行但不影響軟件的功能代碼,這些代碼很明確就是用來解決4.3的代碼耘分。
②混淆工具要使用得當举塔,使用混淆工具不是無序的修改,需要對特定類型的代碼進行混淆求泰,如果隨意混淆會以2.3.1蘋果懷疑應(yīng)用隱藏功能打回央渣。
Tips:
文件名、函數(shù)名渴频、類名芽丹、方法名的修改已經(jīng)是老生常談的方法了,但試問有幾個開發(fā)者是真正的做到了卜朗?最后規(guī)范的代碼注釋有助于降低人工審核時駁回幾率拔第。
3.2 運營層面(實用小技巧)
除了代碼層面的修改,還有多少應(yīng)用是死在開發(fā)者對細節(jié)的忽略上场钉。而運營層面的規(guī)范蚊俺,恰恰是“壓死駱駝的最后一根稻草”。小7多年經(jīng)驗總結(jié)逛万,在運營層面春叫,如下細節(jié)需要開發(fā)者重視:
①錯開提審時間,小編親自試過兩個相同的應(yīng)用在同一時間提審一定會出現(xiàn)4.3泣港。特別是游戲廠商們暂殖,真的做到錯開時間提審了嗎。
②測試賬號一定不能重復(fù)当纱。
③打包的設(shè)備和IP都要隨機切換呛每,設(shè)備我相信是困擾大家去做規(guī)避4.3比較頭痛的事情。畢竟一臺Mac電腦價值不菲坡氯,但是在IP切換上晨横,小7教大家一個小技巧洋腮。除了使用VPN以外,手機每次飛行模式五分鐘后再開啟即為一個新的IP手形。
④不要用工具導(dǎo)證書啥供,證書一定要手動導(dǎo),同時Mac電腦的基礎(chǔ)證書每次都要清理重新處理库糠。
3.3 UI層面
要做好提審登錄界面和提審服的UI設(shè)計伙狐,每次提審都需要更改,切忌原封不動瞬欧。小7在上文已重點強調(diào)蘋果是一定會對應(yīng)用截屏進行圖片比對的贷屎。人工智能發(fā)展到今天圖片的對比技術(shù)十分成熟,請不要懷疑蘋果人工智能的技術(shù)水平艘虎。
4.總結(jié)
最后在機審越來越嚴格情況下唉侄,馬甲包技術(shù)難度也越來越高。在此提示開發(fā)者在開發(fā)的過程中首先要保持好心態(tài)野建,如果在開發(fā)馬甲包的時候連自己都騙不了還怎么去騙蘋果公司属划。
這里強烈推薦一款好用的iOS代碼混淆工具支持(oc、swift候生、c++同眯、dart):Github:https://github.com/netyouli/WHC_ConfuseSoftware