iOS私有Api检测

1531794198850723.png

最近提交APP审核, 一直都说是使用了私有API

在网上找了一些检测私有API的方法才发现在SDK里面涉及到了

下面就检测私有API的方法简单介绍一下

指定私有API

这是最显而易见的, 也是最方便解决的可能出现私有API的情况

当然这种方法首先你要知道使用了那些私有API, 然后在代码中进行全局搜索, 修改, 此方法暂不赘述

这些方法, 我在查找的时候基本能定位到使用私有api的第三方库的位置

终端命令

首先要cd到工程目录

cd 到工程的目录

全局搜索的命令(注意后面有一个点), 其中prefs即为你要搜索的私有API

grep -r prefs .

如果私有api属于类似GraphicsServices.framework等.framework第三方库中,然后全局搜索后发现无法检测到这个库的存在,应该是私有库之类的, 也可以使用

grep -r GraphicsServices .

到这里, 解决上述第三方库的私有API的问题, 就是直接替换掉新的SDK, 当然如果新的第三方库也有私有API的话, 那就只能舍弃了, 否则基本无解.


1531794198209268.png

strings检测

此方法是利用已经打包的ipa包检测
1、首先你有个可以提交审核的ipa,就是需要提交到苹果审核的包,不是测试的release
2、将ipa重命名为zip格式,也可以直接使用解压工具解压, 如果有两个文件夹Payload、Symbols,就OK
3、cd到Payload里面的app

cd /Users/xxx/Downloads/xxx\ 2018-07-16\ 15-00-36/zcmlc/Payload/xxx.app

然后执行, 其中test为你要搜索的app的名字, api为你要搜索的私有的API

strings - -a -arch armv7 "test" | grep api

除了上述这命令之外, 这里还有第二种命令搜索, 生成一个文件, 自己去找即可

strings - -a -arch armv7 "test" > test.txt

私有API检测工具

主要介绍使用iOS-private-api-checker进行检测详情可参考:
iOS-private-api-checker私有API检测工具使用详细步骤

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人原文博客地址: iOS私有Api检测 最近提交APP审核被苹果的审核人员是虐的不要不要的, 一直都说是使用了私...
    TitanCoder阅读 1,073评论 0 17
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,242评论 19 139
  • 前几天iOS项目审核被拒,说我这边调用了私有api.由于最近接入一个SDK,接入之前是没有问题的,接入之后就有了,...
    SimpleTogether阅读 1,267评论 0 1
  • 我现在住的是个新小区,环境好,适合养老,所以老年人居多。当然也有我们这样买不起闹市区房子,只能选择这样偏远地方的。...
    星月_萌缘阅读 1,094评论 0 0
  • 今天是开学的日子,虽然我已经不上学了,但却想起了一件开学时发生的事情。 那年我12岁,即将读初中,弟弟要入小学,妹...
    一叶扁舟远阅读 152评论 0 1