私有API检查工具详解

今天,一朋友发布的版本被拒了,收到的苹果 邮件如下:

被拒原因

查看邮件内容,因为用到了私有API被拒,到底哪里用到了私有API呢,百度一下,发现有个很好用的私有API检查工具。本文将带你搭建一个web站点,直接将IPA文件拖放网页,就可以将项目中使用的API一目了然地显示出来。

准备工具

1.下载ios-private-api-checker-masterhttps://github.com/hustcc/iOS-private-api-checker

2.下载已经build好的ios_private.db库,将 ios_private.db 放入到iOS-private-api-checker的根目录,(备注:ios_private.db 下载地址: https://pan.baidu.com/s/1kBKa6QNSXfQazAYepXRJYQ)。

完成后,打开 终端:

3.cd 到ios-private-api-checker-master目录下,创建一个tmp目录(终端命令:mkdir tmp),并且修改tmp的权限(终端命令:sudo chmod -R 777 tmp)

4. 在终端输入sqlite3 , 出现这个表示已经安装了sqlite,没有则参考 http://www.runoob.com/sqlite/sqlite-installation.html 进行安装,如果安装正确的话,会出现以下:

终端步奏图

5.配置flask环境,mac下默认已经安装了python,不信你可以在终端输入python --version,就可以查看到相应的版本。

重新打开终端

6.接着安装python的包管理器pip ,先下载 get-pip.py : https://bootstrap.pypa.io/get-pip.py(终端执行:curl -o get-pip.py   https://bootstrap.pypa.io/get-pip.py),下载完成后,执行sudo python get-pip.py进行安装。

7.安装virtualenv,virtualenv 为每个不同项目提供一份 Python 安装。终端执行:sudo pip install virtualenv.

8. 开始配置flask环境,cd 到ios-private-api-checker-master目录下,执行virtualenv flask,创建了一个flask文件夹,接着执行:cd flask,然后再执行:source bin/activate,激活环境.接着再执行:pip install flask,安装flask。

 9.回到根目录。执行:cd -,安装 macholib(执行:pip install macholib)。

执行 pip install macholib 出现问题,从下图两行爆红字可以看出,安装macholib的前提是需要提前安装好:nose 和 tornado

问题截图

nose 的安装-------->终端输入 easy_install nose

tornado的安装-------->命令行安装

1.安装 brew ------>终端输入:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"  。

2.安装 wget------->终端输入:brew install wget

3.下载 pip 脚本----->终端输入:wget https://bootstrap.pypa.io/get-pip.py。

4.安装 pip-------->终端输入:sudo python get-pip.py

5.安装Tornado----->终端输入:sudo pip install tornado 。

以上完成后,要重新从上面的第8条开始继续操作,为了要激活环境,

9.以上完成后,就可以开始执行了run_web.py了,终端输入:python run_web.py,服务启动后,会告诉你在那个端口开启,打开浏览器,直接输入即可,接下在网页中,直接将你的IPA包拖进去就可以了,一会就可以看到分析信息了。

终端显示

在浏览器中打开上图红框内的地址,把打好的ipa包拉进去,过几秒就会看到如图:

结果

没有用私有

从以上可以看出,并没有用到私有API,可以回复邮件给苹果,再从新打包上线。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏喵了个咪的博客空间

[喵咪MQ(3)]RabbitMQ集群安装配置

[喵咪MQ(3)]RabbitMQ集群安装配置 ? 在各项生产环境使用中,容灾总是一个很重要的话题,如果单点故障会导致整个系统奔溃或者是丢失数据是不是好气好气的...

3536
来自专栏小夜博客

Crontab自动记录服务器负载

3609
来自专栏高爽的专栏

IE中iframe跨域访问

1      什么叫跨域?        指在A系统(第一方)中通过URL直接调用B系统(第三方),并且两个系统分别部署在不同的域内,简单的理解就是访问这两个系...

2200
来自专栏开发之途

用GitHub和Hexo搭建个人博客

992
来自专栏ascii0x03的安全笔记

VirtualBox - RTR3InitEx failed with rc=-1912 (rc=-1912)

有一天重启电脑后虚拟机virtual box突然打不开了,提示类似 https://askubuntu.com/questions/900794/virtual...

3715
来自专栏腾讯Bugly的专栏

移动 H5 首屏秒开优化方案探讨

导语 随着移动设备性能不断增强,web 页面的性能体验逐渐变得可以接受,又因为 web 开发模式的诸多好处(跨平台,动态更新,减体积,无限扩展),APP 客户端...

6845
来自专栏linux运维学习

linux学习第十三篇:su命令,sudo命令,限制root远程登录

su命令 su - user1  //彻底切换用户,如果没有加“-”,切换用户不彻底。 su  -c  "touch /tmp/1.txt"  user1   ...

17910
来自专栏程序员的碎碎念

php防止用户重复登录

先来理解一下session的几个设置: ini_set('session.auto_start',0); 设置关闭session的自动启动 ini_set('...

5437
来自专栏淡定的博客

总结一下laravel中Hash::make()遇到的坑

==这里遇到的坑就是laravel框架中,每次hash的值都是不一致的,跟之前写过的md5不一样,md5是唯一的,但是只要保存进去了,就算hash以后的值是不一...

5243
来自专栏Web项目聚集地

Linux养成计划(二)

这篇文章介绍关于Linux系统的目录结构,比较Linux系统和Windows系统目录结构的区别。我们知道在Linux中一切皆文件,包括它的硬件,声卡、硬盘等等都...

701

扫码关注云+社区