Cycript配置教程
Cycript允许开发人员探讨和修改iOS和Mac OS X上运行的应用程序。Cycript是一个理解Objective-C语法的javascript解释器,它能够挂钩正在运行的进程,能够在> 运行时修改应用的很多东西。
一、下载地址
Cycript
官方网站下载地址:下载链接
二、安装步骤
安装的具体步骤
- 1.将下载的压缩文件进行解压。
-
2.将解压后的文件夹拷贝到自定义的一个目录下,例如:
/opt
。
-
3.配置环境变量,打开
iTerm2
,使用vim ./.base_profile
命令编辑文件。 -
4.在base_profile文件中添加
export cycript_src=/opt/cycript_0.9.594/
和export PATH=$PATH:$cycript_src
两行命令,如果PATH已经定义过,则直接使用:
和$
进行追加。
-
5.退出文件编辑并保存,重启
iTerm2
,使用cycript
命令查看效果。
注意:点击control + D可以退出 Cycript 模式。
三、安装时可能出现的错误
在使用cycript
命令查看效果时,终端提示错误信息。
1.Ruby版本过高的错误
因为电脑携带的Ruby版本太高导致的,错误信息如下图所示。
解决办法
-
1. 首先使用命令
$ ruby -v
查看电脑Ruby版本信息。有可能你的电脑安装了rvm,用ruby -v命令查看的是指定的ruby版本,换个方法查看Ruby版本信息,使用命令cd /System/Library/Frameworks/Ruby.framework/Versions/
和ls
查看具体版本信息。 -
2. 关闭系统的SIP模式[1](在 OS X El Capitan 中有一个跟安全相关的模式叫 SIP(System Integrity Protection ),它禁止让软件以 root 身份来在 Mac 上运行,在升级到 OS X 10.11 中或许你就会看到部分应用程序被禁用了,这些或许是你通过终端或者第三方软件源安装。对于大多数用户来说,这种安全设置很方便,但是也有些开发者或者高级 Mac 用户不需要这样的设置),具体关闭SIP的步骤在文章结尾处描述。
-
3. 使用命令[2]直接把本机的ruby版本的复制一份,改为2.0即可。
注意:根据每个人Ruby版本不同,将上面第二条命令的/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib中的2.3改成本机的ruby版本。
这里不是降级Ruby,只是复制一份2.0的Ruby的dylib,让cycript运行起来。
附一、关闭系统的SIP模式步骤
-
1. 电脑重启,听到咚的时候,按住
command+R
,进入恢复模式 -
2. 打开终端,输入
csrutil disable
,重启 -
3. 如果想打开SIP,重复上两步,命令改为
csrutil enable
附二、直接把本机的Ruby版本的复制一份改为2.0的命令
sudo mkdir -p /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/
sudo ln -s /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib