Cycript 安装和环境配置

Cycript允许开发人员探讨和修改iOS和Mac OS X上运行的应用程序。

Cycript是一个理解Objective-C语法的javascript解释器,它能够挂钩正在运行的进程,能够在> 运行时修改应用的很多东西。

Cyctipt 安装

1. 下载资源

Cycript 官方完整
资源下载完成后,解压。

2. 将资源放入指定位置

将资源放入到一个自己想要安装的位置,我的是放在磁盘 -> opt文件夹下,如果安装过MonkeyDev,你会发现它的资源文件也在这里。

Cycript 安装和环境配置_第1张图片
放置 Cycript 资源

3. 配置环境变量

进入终端,编辑.base_profile文件

    $ vim ~/.bash_profile
编辑.base_profile文件

增加相对应的绝对路径,点击shift + i进入编辑模式,输入一些代码,其中cycript_src='你的 cycript资源所在的绝对路径',例如我的就是

    export cycript_src=/opt/cycript_0.9.594/
    export PATH=$PATH:$cycript_src
Cycript 安装和环境配置_第2张图片
配置环境变量
 点击 esc 退出编辑模式,输入`:+ wq`,保存退出。

更新刚配置的环境变量

    $ source .bash_profile

如果是使用iTerm2+oh my zsh组合,可以在.zshrc配置文件中导入source .bash_profile,这样每次打开就不用手动执行了!

    $ vim ~/.zshrc
Cycript 安装和环境配置_第3张图片
添加.bash_profile引用

验证配置是否成功

    $ cycript

完成!!!

运行 Cycript

点击control + D可以退出 Cycript。

执行后遇到了这个问题:

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /Users/devzkn/Downloads/cycript_0.9.594/Cycript.lib/cycript-apl
  Reason: image not found

这个错误是因为电脑的ruby版本太高导致

1. 首先查看电脑ruby版本

$ ruby -v

有可能你的电脑安装了rvm,用ruby -v命令查看的是指定的ruby版本,正确做法应该是cd到/System/Library/Frameworks/Ruby.framework/Versions/ 目录下查看具体版本

$ cd /System/Library/Frameworks/Ruby.framework/Versions/
$ ls

2. 关闭系统的SIP

在 OS X El Capitan 中有一个跟安全相关的模式叫 SIP(System Integrity Protection ),它禁止让软件以 root 身份来在 Mac 上运行,在升级到 OS X 10.11 中或许你就会看到部分应用程序被禁用了,这些或许是你通过终端或者第三方软件源安装。对于大多数用户来说,这种安全设置很方便,但是也有些开发者或者高级 Mac 用户不需要这样的设置。

  • 电脑重启,听到咚的时候,按住command+R,进入恢复模式

  • 打开终端,输入csrutil disable,重启

    Cycript 安装和环境配置_第4张图片
    打开终端,输入`csrutil disable`

  • 如果想打开SIP,重复上两步,命令改为csrutil enable

3. 直接把本机的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

注:根据每个人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运行起来。

本文章参考:《配置cycript环境变量及遇到的问题》

文章无特殊说明皆为原创,转载请说明

如果感觉有帮助的话,请点一个喜欢!

你可能感兴趣的:(Cycript 安装和环境配置)