普通人物怨 发表于 2021-1-7 09:14

[Unity iOS渠道提审]因热更新被打回的问题

新的mmorpg马上要上线了,上个月一直在处理ios提审的问题,好几次提审都被怀疑有热更新的问题和4.3的问题而打回,在这里分享一下解决办法,希望能对大家有所帮助。
在ios提审打回几次后,我们一直以为是tolua插件是不是哪里被检测出来了,因为被打回之后重新提审需要等一段较长的审核时间,所以我们在提审前先拿到腾讯wetest的ios预审中看下自己的项目是否存在一些不能过审的问题,检测结果如下:


扫描出可疑的私有类/接口:不通过:发现存在 私有类。

这个问题很好解决,使用命令行检测工程目录下所有文件
grep -r CMFileManager .最后发现是云测(testin)的一个静态库中使用了这个私有类,删除即可。


检查Ipa包内资源文件是否符合规范:警告: ipa包未打包1024*1024分辨率icon,请检查是否打入,若确认已打入请忽略!Xcode 9以上编译的包需要合入1024的icon,否则提itc会报错!

这个忽略,因为我拿去预审的ipa没有添加icon,正式提审时不会有这个问题


检查是否调用苹果禁用api:不通过:检查出调用苹果禁用api: 。

问题主要出现在UIWebView这个api中,因为检测出来发现是在unity引擎打包出来的工程脚本里有使用,因为但是我们项目使用的是Unity2017.4.22f1,最后发现在unity在2017.4.33LTS版本中修复了这个问题。




检查是否调用苹果禁用的热更新:不通过:检查出调用苹果禁用的热更新框架或api: 。

最重要的一个因素来了,当时一直以为是检测tolua模块的时候扫出了热更新的关键字,但是通过grep的方式却并没有发现tolua里有使用到wax相关的东西。
最后迫于无奈,使用二分法,将工程一点一点提交到wetest进行筛查,最后发现竟然是fmod音频插件的静态库中有wax字段,更气人的是fmod音频插件中的wax是一个音频格式,和wax热更新框架完全没有半毛钱关系,最后反编译fmod的.a静态库文件,将wax去掉,重新打包提审,就没有这个问题了。
页: [1]
查看完整版本: [Unity iOS渠道提审]因热更新被打回的问题