共计 2070 个字符,预计需要花费 6 分钟才能阅读完成。
写在前面
马甲包审核被拒,目前网上流传最广的就是 2.1 和 4.3,在查看了很多文章之后,从两篇介绍的比较详细的文章中把这两个大礼包对应条款的解决方案,整理出来,为开发马甲包做一个准备,同时分享个大家。
2.1 大礼包
2.1 大礼包主要包含 1.1.6、2.3、2.3.1、3.1.1、4.3,5.2.1,5.3.4 等条款。
1.1.6 包含虚假信息,功能或误导性元数据
一般是因为标题或者 icon 和截图等有误导的嫌疑,或有些关键词是被苹果列入黑名单的,例如红包包、话费等,但审核条款又没有明确指出。对于上述情况的解决办法是使用保守的文案或素材。
2.3.0 含有不经审核也可更改 App 功能
如改变 App 功能的热更新,这种情况需要把热更新去除, 或者对热更新模块代码做深度混淆处理!
2.3.1 含有隐藏功能或为记录的功能,包括定向到赌博或彩票网站的开关。
常规解决方式:去除隐藏功能模块代码或将需要隐藏功能的代码及定向跳转链接网址做混淆处理,适当增加逻辑复杂度。
3.1.1 应用内购以外的支付机制来解锁 App 中的功能
对于第三方支付, 尽可能避免使用易扫描的 SDK 版本, 推荐使用 H5 版本支付。支付跳转链接相应的做屏蔽混淆处理。
4.3.0 是另一款应用的复制品,或与另一款应用明显相似。
被认为是重复 App 或马甲包,变更 UI 和名称,填充无用代码等。
- A、改名字;
- B、修改素材及 UI 色调等,例如修改 icon,修改主色调;
- C、修改功能界面等,可改功能可做小开关;
- D、填充代码(++ 最好 50% 以上 ++)或注释块;
5.2.1 未由拥有并负责提供该应用程序提供的任何服务的法律实体提交。
未提供 App 上架所需的行业资质,比如:金融营业许可证、游戏版号等。这个上面讲过些常规方式。
5.3.4 含有货币游戏(如:体育下注、赌场游戏等),但未提供相关许可资质。
同上,提供资质,审核时最好不要勾选中国区,或使用海外账号。
4.3 被拒的原因及处理方案
第一种:代码重复(分为三种)
1. 可能你之前用这套源码上过一个包,现在用这套代码直接改一个 logo 跟名字再上一个马甲
对应的处理方案:
第一步:工程中的文件夹的名字全部进行修改。
第二步:每一个工程都有一个类前缀, 我们需要取一个长一点的类前缀, 并且这个类前缀在你的整个工程一定是一个唯一的字符串, 我们假设这个类前缀是 PayDayLoan, 现在我们需要生成一个控制器, 控制器的结尾 Controller 也需要用一个特定的字符去代替, 比如:Director, 剩下的 View 以及 object 做法类似, 就不一一介绍了, 做马甲的时候就是把这些名字用另一个唯一的字符去代替, 尽量长一点。
第三步:把另一个其他的工程中的类全部导入进来, 主要是混淆代码, 在现有的工程中调用, 可以没有任何效果, 只是单纯调用方法。
敲黑板
单一的加入垃圾代码混淆是没用的!
2. 如果你的这套源码在一个账号上提交过,但是被拒了,后来因为其他原因你不得不在别的账号上重新提交此源码。
对应的处理方案:
这种情况需要在第一个账号做一下处理,xcode 新建一个应用, 直接用之前提交过的 bundleId 打包,logo 用一个纯白或者纯黑的图片, 将这个新建的应用提交到应用市场, 构建版本中将之前被拒的包移除, 用这个新的应用顶替之前被拒的包,app 名字改成“作废 - 此应用不再提交”后面再随便加一个数次, 因为这个名字别人已经用过了,app 描述跟 app 名字一样, 剩下的信息全部删除,最后点击保存即可,不需要提交审核。
3. 你的源码只要提交到 itunesconnect 里面,就算没提交审核,当你再次使用此源码提交审核的时候.
对应的处理方案,参照 2 的处理方案。
第二种:界面功能相似
这种情况简单的改源码已经没用了,需要在原有的 app 上加一些不同的功能。 我用借贷类举例说明该如何解决,其他类型的 app 可以参考。以下举两个应用说明, 分别用 A 应用与 B 应用代替, 你需要如何处理并且如何回复审核人员。
- A 应用是给没有信用卡的用户使用的一款借款 App,B 应用是给有信用卡的用户使用的一款借款 App。
- A 应用的最高借款额度是 1000 元, B 应用的最高借款额度是 25000 元。
- A 应用的还款时间是 7 天与 14 天, B 应用的还款时间是 28 天。
- A 应用内部有贷款计算器功能, B 应用只是一个普通的贷款 app, 并无其他功能。
两款 app 是我们公司内不同的部门开发的 app, 分别针对不同的用户人群。
总结
针对界面功能相似的 App,我们肯定是要做对应的处理。处理之后我们可以从以下几个方面进行回复:
- 两个 App 的用户群体差异。
- 两个 App 的功能差异。
- 两个 App 同一个公司的两个部门针对不同的用户群体开发(和 1. 相似)。
- 就是尽可能的找出两个 App 的不同,称述给苹果的审核人员 。
第三种:App 名字被使用过
这一种,可能是最容易被忽略的, 取名字之前一定要先搜索 appstore 有没有同名应用,尽量避免同名应用 。
代码混淆工具
KLGenerateSpamCode 垃圾代码生成器
CodeMixer, 代码混淆,图片改名,批量修改类名
参考文章
iOS 马甲包审核以及常见审核问题
骨灰级 iOS 工程师手把手教你如何上架马甲包!