iOS-private-api-checker 苹果 iOS 私有 API 检查工具 Developer tool to scan iOS apps for private API usage before submitting to Apple https://github.com/hustcc/iOS-private-api-checker
私有 API 检查的原因在于:苹果在 app 提审的时候,会检查 app 使用私有 api 的情况,对于使用了私有 api 的 app ,不予通过,这个工具的目地就是在提审之前检查一下,提高通过率。
目前功能主要有以下:
db/dsidx_dbs.py 文件为解析 docSet.dsidx 的库,请实现将 docSet.dsidx 内容导出到 sqlite 中。 docSet.dsidx 是 xcode 作为代码提示的数据库,表示是 apple 公开的公有 api 。
修改 config.py 中 sdks_config 字典,增加各个 version 的 sdk 路径,然后运行 build_api_db.py ,会自动解析私有 api ,存存储到 sqlite 中。
(项目中的数据库内容是我编译 sdk7.0 的数据,可以直接用。)
运行方式有二,建议第二种 web 方式:
修改 iOS_private.py main 方法中的 ipa 路径,运行即可。
使用 Web 上传运行的方式,运行 python run_web.py (请先配置 flask 运行环境),然后浏览器输入 127.0.0.1:9527 将 ipa 拖入上传框等待即可看到检查结果。
使用 batch_check 方法批量运行目录中的 ipa ,并生成 excel 报告。
私有的 api = (class-dump Framework 下的库生成的头文件中的 api - (Framework 下的头文件里的 api = 有文档的 api + 没有文档的 api)) + PrivateFramework 下的 api
。这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.