这里强烈推荐一款好用的iOS代码混淆工具支持(oc、swift、c++、dart):Github:https://github.com/netyouli/WHC_ConfuseSoftware
1.机审卡关越加严重
随着苹果审核机制的不断升级,上架难度也越来越大。严格的来说苹果的审核随着计算机技术的发展而升级,计算机代替人工的占比也越来越大。目前苹果的审核中计算机审核已起到了一定的主导地位。机审是一种流程化筛查工具,只要仔细研究过苹果审核的开发者都能够发现,现在应用审核阶段越来越多的条款驳回不再受到人为因素的影响。如今各类应用4.3概率越来越高而且代码混淆,加垃圾代码的效果不佳。
2.iOS重复应用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是指同一应用程序重复提交审核,而不是指同类型应用。大部分开发者都会复制上架同一应用,马甲包越多用户也就越多,这就是大家奋力去提马甲包原因。苹果是接受同类型产品的上架,但不接受同一应用,这一点是开发者必须要明白,如果在开发马甲包的时候连自己都骗不了还怎么去骗苹果公司,这样才能更好的优化应用以助于通过4.3。苹果审核背后的逻辑不透明,小七从多年的经验中得出以下2个观点,希望能让开发者们有一丝启发。
2.2「4.3」只会出现在机审
理由:
①目前App Store应用数量不计其数,不能实现依靠人工记忆判断重复应用。
②设备激活和截图对比是审核过程的固定步骤,因此不能认为收到截图即是已通过机审,需要从多方面因素判断拒审原因。
③机审代码后会生成评估报告,同时真机安装应用供审核官运行测试。审核官会根据评估报告确定是否继续进行测试,当继续测试软件时计算会同时进行自动截图对比,当相似度高时审核官就会直接打回应用,所以这时判断4.3情况还是计算机。
Tips:
正常应用审核中都会进行两次装机
•第一次是计算机装机测试,截取首屏图。所以首屏图每次提交必须保证不同。
•第二装机是审核官进行真机测试。
2.3 苹果无法从代码上杜绝4.3
理由:
①苹果允许第三方调用,所以一定会出现部分重复代码。
② 苹果机审只会对部分代码进行扫描对比,因为全源码对比效率低下,有悖于苹果的高效的精神
3.如何规避4.3
目前解决4.3问题的主要方式是添加垃圾代码和使用混淆工具,不同的开发者使用同一种方式,却是截然不同的效果。原因是无法通过4.3的开发者不懂如何正确使用这两种方法。只有方法对了,才能出好的效果。以下三点就是小七多年上架经验中总结出来的规避4.3方法:
3.1 代码层面:
①垃圾代码不是垃圾,添加垃圾代码是一项技术问题,不同的人添加垃圾代码的效果却不相同,添加垃圾代码并不是真的添加垃圾代码,而这边所说的垃圾代码是指可运行但不影响软件的功能代码,这些代码很明确就是用来解决4.3的代码。
②混淆工具要使用得当,使用混淆工具不是无序的修改,需要对特定类型的代码进行混淆,如果随意混淆会以2.3.1苹果怀疑应用隐藏功能打回。
Tips:
文件名、函数名、类名、方法名的修改已经是老生常谈的方法了,但试问有几个开发者是真正的做到了?最后规范的代码注释有助于降低人工审核时驳回几率。
3.2 运营层面(实用小技巧)
除了代码层面的修改,还有多少应用是死在开发者对细节的忽略上。而运营层面的规范,恰恰是“压死骆驼的最后一根稻草”。小7多年经验总结,在运营层面,如下细节需要开发者重视:
①错开提审时间,小编亲自试过两个相同的应用在同一时间提审一定会出现4.3。特别是游戏厂商们,真的做到错开时间提审了吗。
②测试账号一定不能重复。
③打包的设备和IP都要随机切换,设备我相信是困扰大家去做规避4.3比较头痛的事情。毕竟一台Mac电脑价值不菲,但是在IP切换上,小7教大家一个小技巧。除了使用VPN以外,手机每次飞行模式五分钟后再开启即为一个新的IP。
④不要用工具导证书,证书一定要手动导,同时Mac电脑的基础证书每次都要清理重新处理。
3.3 UI层面
要做好提审登录界面和提审服的UI设计,每次提审都需要更改,切忌原封不动。小7在上文已重点强调苹果是一定会对应用截屏进行图片比对的。人工智能发展到今天图片的对比技术十分成熟,请不要怀疑苹果人工智能的技术水平。
4.总结
最后在机审越来越严格情况下,马甲包技术难度也越来越高。在此提示开发者在开发的过程中首先要保持好心态,如果在开发马甲包的时候连自己都骗不了还怎么去骗苹果公司。
这里强烈推荐一款好用的iOS代码混淆工具支持(oc、swift、c++、dart):Github:https://github.com/netyouli/WHC_ConfuseSoftware