由于个推和bugly热更新导致苹果审核被拒
提交审核后被拒,苹果回复的信息如下:
Guideline 2.5.2 - Performance Your app, extension, or linked framework appears to contain code designed explicitly with the capability to
Guideline 2.5.2 - Performance
Your app, extension, or linked framework appears to contain code designed explicitly with the capability to change your app’s behavior or functionality after App Review approval, which is not in compliance with App Store Review Guideline 2.5.2 and section 3.3.2 of the Apple Developer Program License Agreement.This code, combined with a remote resource, can facilitate significant changes to your app’s behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes. This includes any code which passes arbitrary parameters to dynamic methods such as dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(), and running remote scripts in order to change app behavior and/or call SPI, based on the contents of the downloaded script. Even if the remote resource is not intentionally malicious, it could easily be hijacked via a Man In The Middle (MiTM) attack, which can pose a serious security vulnerability to users of your app.Next StepsTo resolve this issue, please perform an in-depth review of your app and remove any code, frameworks, or SDKs that fall in line with the functionality described above and resubmit your app’s binary for review.
看到邮件我没有着急去百度和去翻译,而是先看看英文说的什么,利用我的四级水平基本可以看懂了,他说“你在app审核通过后,还会改变你app 的行为”,说白了不就是使用了热更新了么,我知道项目中没有用到热更新的东西,所有马上我就想到一定是第三方库中含有。
但是为了避免我的项目中无意间用到了,所以按照苹果的要求,全局搜索了一下邮件中说的方法,
dlopen dlsym 没有用到
respondsToSelector performSelector 用到了,但是都是些正常的使用 没有什么问题
method_exchangeImplementations AFNetworking 用到了一处,没有影响的,不影响审核
到这里基本排除了自己写的代码中含有热更新的东西。
之后就是第三方的库了
所有的第三方平台都在这里使用到热更新的就是bugly 和 老版本的个推 其他没有问题
去bugly 官网没有看到新版本,所以我就在项目中将bugly移除了 也不用了。用了也不好使,bugly平台的数据都不好好维护了。
个推升级到最新版本就ok了。
注意UserNotifications.framework 是弱引用的 添加的时候记得勾选后面的选项