ios私有api检测工具介绍

ios审核被拒

ios app上线的时候应为检测到app里面含有私有api被拒了,头疼,代码这么多怎么快速定位是哪里的代码出的问题呢

解决办法

这里介绍一个网易游戏开源的检测项目中是否含有私有api的项目 iOS-private-api-checker
整个开源项目是用python写的,虽然项目里面有readme.md介绍说明文件,大事对于没有接触过python项目的人可能还是有点陌生的。这里就详细介绍些如何使用此项目检测

clone项目到本地

git clone https://github.com/NetEaseGame/iOS-private-api-checker
cd iOS-private-api-checker

安装依赖python包`

请确认你的mac上已经安装好了,pip 如果没有的话 运行 sudo easy_install pip

pip install flask
pip install macholib

生成IOS项目SDK版本的私有api库

修改 config.py文件

现在的版本默认是 'sdk': '8.1'修改 sdks_config.append的参数为你的sdk版本
比如说我是10.3的版本
修改成了

sdks_config.append({
    'sdk': '10.3',
    'framework': '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk/System/Library/Frameworks/',
    'private_framework': '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk/System/Library/PrivateFrameworks/',
    'docset': '/Applications/Xcode.app/Contents/Developer/Documentation/DocSets/com.apple.adc.documentation.docset/Contents/Resources/docSet.dsidx'
})

开始重新生成api数据库

过程稍慢,生成时间由电脑配置高低决定,耐心等待下

python build_api_db.py

运行项目

在根目录创建一个 tmp 目录,并设置 777 权限

mkdir tmp
chmod -R 777 tmp/

之后运行

python run_web.py

上传ipa文件

根据上个页面的提示打开 http://0.0.0.0:9527
托转你的api文件到网页提示的区域 等待一下就可以在Private API in APP得到检测结果

检测检测并导出结果excel

修改目录下的 iOS_private.py文件

修改 ipa_folder的值为你的ipa文件所在的目录的路径

批量生成

python iOS_private.py

在tmp文件夹里可以找到生成好的xlsx文件