如何查看ipa是否使用了私有API
2018-08-09 本文已影响0人
sy随缘
私有API 也存放在 Frameworks 框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录。按苹果的说法,未公开的 API 还不够成熟,可能还会变动,等完全成型了之后就会变成公开的 API,但是目前不对其提供承诺,系统版本升级后可能会失效。有私有API的项目是不允许上架的。
带有私有API项目上传项目会被拒,并返回项目中的私有API。一般情况我们使用搜索能搜到,但是在第三方框架中是搜索不到。
可以使用电脑终端搜索:
首先cd 到项目的根目录下,
然后输入:grep -r *** .
***是被拒返回的私有API名称(注意:命令后面有. 一定加上)。
会得到一个路径,找到位置后,要么删除,要么替换(我遇到项目有私有的API位置在第三方库中,我就重新下载最新的三方库就好了~~~)。
1、使用grep命令
grep - r 【私有api名字或者方法】
2、使用otool 或者 nm命令
创建一个 Ad Hoc Deployment,使用下面的命令:
uzip AppName.ipa
接着:
otool -L Payload/AppName.app/AppName
或者
nm Payload/AppName.app/AppName
https://segmentfault.com/a/1190000003956100
开源项目:
https://github.com/qq715555403/iOS-private-api-checker
iOS-private-api-checker私有API检测工具使用详细步骤:
https://blog.csdn.net/sinat_29789455/article/details/54017618