Cycript 安装及环境变量配置

前言

Cycript 允许开发人员使用 Objective-C 和 JavaScript 混合语法, 通过具有语法高亮显示和 tab 键智能补全功能的可交互控制台, 在 iOS 或 macOS 上探索和修改正在运行的 app.

安装

下载 SDK

下载官方 SDK, 并解压到合适的位置. 这里我直接放到 /opt 下.

配置环境变量

使用 Terminal 或其他文本编辑软件编辑 .bash_profile 文件. 这里使用 Terminal 编辑.

vim ~/.bash_profile

在合适位置输入:

export CYCRIPT=/opt/cycript_0.9.594/
export PATH=$PATH:$CYCRIPT

保存退出. 在 Terminal 中应用刚配置好的环境变量:

source .bash_profile

这里我使用的是 iTerm2 + oh my zsh 套装, 因此可以将上述命令直接写到 .zshrc 文件中. 使用 Terminal 或其他文本编辑软件打开 .zshrc 文件:

vim ~/.zshrc

在合适的位置输入上述命令即可.

使用

检验 Cycript 是否安装成功最直接的方法就是看能不能使用. 在 Terminal 中输入 cycript, 如果在输入过程中有补全提示, 且输入完成后按回车, 可以进入到以 cy# 开头的环境中, 即表示安装成功.

踩坑

在安装过程中, 可能会遇到 ruby 镜像找不到的问题, 具体描述如下:

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

首先我们查看电脑的 ruby 版本:

ruby -v

可以看到 ruby 版本高于 Cycript 要求的 2.0.0, 这里我的是 2.3.7p456. 该问题主要有两种解决方案:

1.使用软连接将当前版本拷贝一份到并命名为 2.0.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

使用该方法可能遇到的一个问题是权限问题. 在未关闭 SIP 的情况下, 执行第一条命令会提示:

mkdir: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib: Operation not permitted

解决方法就是重启关闭 SIP 后再次执行即可.

2.使用 homebrew 安装 2.0 版本的 ruby, 并将 2.0.0 的 dylib 文件拷贝到 Cycript.lib 目录下即可.

brew install [email protected]
cp /usr/local/Cellar/[email protected]/2.0.0-p648_6/lib/libruby.2.0.0.dylib /opt/cycript_0.9.594/Cycript.lib/

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