• 个人原文博客地址: iOS私有Api检测
  • 最近提交APP审核被苹果的审核人员是虐的不要不要的, 一直都说是使用了私有API
  • 但是我使出了浑身解数, 也没找到自己写的代码里哪里用到了私有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的话, 那就只能舍弃了, 否则基本无解

strings检测

此方法是利用已经打包的ipa包检测

  • 首先你有个可以提交审核的ipa,就是需要提交到苹果审核的包,不是测试的release
  • ipa重命名为zip格式,也可以直接使用解压工具解压, 如果有两个文件夹PayloadSymbols,就OK
  • cdPayload里面的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检测相关推荐

  1. iOS私有API检测扫描思路以及工具开发(Python3 + Django)

    不足之处 1.class-dump有些文件会报错,由于只支持OC runtime的方式获取,可执行文件是c或者swift都无法被dump 2.私有api在公开的Framework及私有的Private ...

  2. class-dump获取iOS私有api

    转自:http://blog.csdn.net/sunyuanyang625/article/details/41440167 获取各类iOS私有api 安装工具class-dump 资源地址http ...

  3. ios中通过调试来使用私有api

    转自:http://blog.csdn.net/cubepeng/article/details/11284173 OS不允许使用ios私有api,使用私有api可以获得意想不到的效果 ,同时使用私有 ...

  4. class-dump导出iOS系统私有库以及简单的私有API调用

    前言 This is a command-line utility for examining the Objective-C runtim information stored in Mach-O ...

  5. iOS buttonWithType:101 苹果私有api

    无意中发现,有人创建UIButton这样写 UIButton *previousButton = [UIButtonbuttonWithType:101]; 一看原来是私有api UIButton * ...

  6. APPLE越狱软件测试,iOS的越狱检测和反越狱检测剖析

    iOS的越狱检测和反越狱检测原理剖析 为什么要检测越狱?因为越狱后会大幅降低安全性.对于一些金融类的APP或者游戏类的,因为监管原因.资金安全问题,甚至防止使用越狱分析等,需要进行检测.不过其实越狱与 ...

  7. 如何在 Swift 语言下使用 iOS Charts API 制作漂亮图表?

    [编者按]本文作者 Joyce Echessa 是渥合数位服务创办人,毕业于台湾大学,近年来专注于协助客户进行 App 软体以及网站开发.文中作者通过示例介绍用 ios-charts 库创建简易美观的 ...

  8. Apple 如何知道你使用了私有API

    大约有三种方式 otool -L 这个工具可以清晰的列出你链接所有的库 像IO.Kit是不允许使用的 nm -u 这个工具可以清晰的列出你所有链接符号 如 C方法 OC方法 检查所有Selecter的 ...

  9. 精准 iOS 内存泄露检测工具

    MLeaksFinder:精准 iOS 内存泄露检测工具 发表于 2016-02-22   |   zepo   |   23 Comments 背景 平常我们都会用 Instrument 的 Lea ...

最新文章

  1. 【微信小程序企业级开发教程】微信小程序目录结构
  2. 多生产者多消费者问题
  3. linux deepin/ubuntu 搭nginx文件服务器配置
  4. 这里有 8 个流行的 Python 可视化工具包,你喜欢哪个?
  5. debian9 配置ssh 允许 root直接远程登录
  6. Java演示手机发送短信验证码功能实现
  7. 升级ADT22.6后,Android模拟器无法创建
  8. 信息学奥赛一本通C++语言——1024:保留3位小数的浮点数
  9. 玩游戏用什么轴的机械键盘好_机械键盘选什么轴?全方面分析各轴手感和区别...
  10. mysql begin_MySQL 存储过程的 BEGIN 和 END
  11. 【回文串4 DFS】LeetCode 131. Palindrome Partitioning
  12. php fopen下载文件,php fopen下载远程文件的函数 | 学步园
  13. WeUI for 小程序使用教程文档总结
  14. python 实现一个属于自己的语音播报器
  15. 计算机工程师的社会责任感,工程师的社会责任
  16. 练习3-8 查询水果价格 (15 分)
  17. mysql .frm_mysql通过frm向mysql导入表结构及数据
  18. Python如此神奇,让繁琐工作自动化 (文中含Python基础)
  19. 【新知实验室-TRTC开发】实时音视频之集美真心话
  20. 破解word只读文档 word文档保护后的破解办法

热门文章

  1. 解决Ubuntu 14.04 Unity桌面环境登录后冻结问题
  2. 使用nodejs安装Vue-cli
  3. 《C++ Primer Plus》第8章 函数探幽 学习笔记
  4. ActiveMQ死信队列使用
  5. Hadoop学习笔记一
  6. xml serialize
  7. 潜移默化学会WPF(转载篇二)--退出应用程序
  8. hadoop错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
  9. android电视工程模式,智能电视如何打开ADB?进入工程模式方法
  10. python requests post请求_实例解析Python3 如何利用requests 库进行post携带账号密码请求数据...