如何查看ipa是否使用了私有API

私有API 也存放在 Frameworks 框架中,但是却没有在苹果的官方文档中有使用说明、代码介绍等记录。按苹果的说法,未公开的 API 还不够成熟,可能还会变动,等完全成型了之后就会变成公开的 API,但是目前不对其提供承诺,系统版本升级后可能会失效。有私有API的项目是不允许上架的。

带有私有API项目上传项目会被拒,并返回项目中的私有API。一般情况我们使用搜索能搜到,但是在第三方框架中是搜索不到。

可以使用电脑终端搜索:

首先cd 到项目的根目录下,

然后输入:grep -r *** .   

***是被拒返回的私有API名称(注意:命令后面有. 一定加上)。

会得到一个路径,找到位置后,要么删除,要么替换(我遇到项目有私有的API位置在第三方库中,我就重新下载最新的三方库就好了~~~)。


https://stackoverflow.com/questions/36934108/how-to-search-public-or-private-apis-in-nm-tool-for-all-the-libraries-in-the

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



苹果私有API检查工具开源项目:

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

你可能感兴趣的:(如何查看ipa是否使用了私有API)