最近刚刚在AppStore成功上架了一款VPN类软件,App采用离线打包,期间也是经历一系列问题,现在整理出来分享给有需要的朋友。
Guideline 4.3(a) - Design - Spam
这个是比较常见的打回原因,大意就是app雷同,这个雷同分2方面,一是UI/功能与其他APP雷同,二是代码雷同,根据我们上架后的修改情况来看,我们遇到的第一次4.3,是因为代码雷同(因为自始至终我们都不曾修改UI及布局)。这里说一下我们的使用过的处理方式:
- 离线打包的项目名,必须修改,不要使用默认命名“HBuilder-Hello”,项目中所有涉及到HBuilder的关键字都搜索并修改
- HBuidler发布离线资源后,使用“javascript-obfuscator”等工具进行混淆,具体方式网上很多,这里不再赘述
- 在appstoreconnect上提审/回复审核消息时,提前备注,“app使用的是uniapp这类hybrid框架,底层框架代码可能部分雷同”,
- 尽可能详细的准备app资质类文件,由于我们是VPN这类敏感软件,本身上架就有诸多限制,所以相关证书不能少,有“代码版权”最佳
- 4.3这个打回,很奇葩的,我们居然遇到2次,首次提审遇到一次,上线成功后,进行过几次修改,发布新版,后面第5次更新版时,居然再次被4.3打回,这次重点强调第3点,态度良好的跟苹果审核员沟通,就再次过了。
Guideline 5.1.1 - Legal - Data Collection and Storage
这个比较简单,根据具体反馈内容显示,苹果的内购,必须有游客购买功能,很多人初次上架都会遇到,开发相应功能即可
Guideline 2.1 - Performance - App Completeness
这个也比较简单,app不可以有假死,用户无法操作的情况出现,属于业务范畴,比较容易修改,覆盖测试到位就行
Guideline 5.1.1(v) - Data Collection and Storage
神奇的再次遇到5.1.1,而且还是成功上架后,第4次更新提审时被打回,打回原因居然是app必须要有注销功能,无奈加上注销后,审核通过
总体心得:
- 与苹果审核人员沟通,态度要诚恳,各类资质提前备好,尽量让审核人员审核方便,提审功能尽量写清楚怎么操作,入口在哪里(审核员也是人,你让他舒服,他也让你舒服,能省不少麻烦)
- 离线打包资源如果混淆不够,可以尝试对app进行加固混淆:ipaguard。不过很遗憾,我们的app有vpn进程服务,加固后找不到进程入口,所以未使用。
- 很多人遇到的隐私类问题,我们这次完美规避。因为之前上架android各大商店,频繁被隐私类问题打回(动辄是XXsdk违规收集用户隐私),这次的推送、广告、一键登录、内购等等uni-sdk一概未用,仅使用uniapp的基础sdk包,使用uniapp做UI及上层业务逻辑,有需要的sdk,尽量使用原生开发,便于找问题,比如内购、一键登录,都是自己接的原生。
- 关于热更,uniapp本身是有热更功能的,我们在android上保留了热更功能,但是为了在苹果上少一些麻烦,所以关掉了热更。
- 总体来说,使用uniapp负责上层业务,做到了一套代码,android及ios双端复用(底层tun2sock加速分别采用java及swift原生开发),省去不少重复内容的开发时间。离线打包+部分原生开发,提供了很高的自由度,在审核时,省去许多麻烦。
- 本项目是外包性质,先上架的另一个android同类app,后上架ios,均使用uniapp,开发效率不错。
欢迎加Q交流:272669509
0 个评论
要回复文章请先登录或注册