最近由于热更新等一些问题,苹果各种拒绝,苹果审核被拒,返回如下:
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 Steps
To 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.
原因是你的代码中有私有方法,比如dlopen(), dlsym(), respondsToSelector:, performSelector:, method_exchangeImplementations(),所以需要去除。一般都是一些SDK中带的,所以我们需要区分出是否包含。
解决方法,在控制台输入如下:
nm -u libBaiduMobStat.a >> xxx.txt
然后在电脑中找到这个txt文件,最后在里面搜索上面的方法有没有,就可以了。
中间那个libwechaat.a是一个路径,具体如下
nm -u /Users/jie/Desktop/2017版本/ConsumerApp/Library/BaiduTongji/libBaiduMobStat.a >> junjiepay.txt
说多了都是泪啊~ 一个一个将所有sdk中的.a文件都拿出来检索一遍,玛德,坑爹的苹果。