前言
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 ruby@2.0
cp /usr/local/Cellar/ruby@2.0/2.0.0-p648_6/lib/libruby.2.0.0.dylib /opt/cycript_0.9.594/Cycript.lib/
网友评论