博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Cycript 安装及环境变量配置
阅读量:6937 次
发布时间:2019-06-27

本文共 1658 字,大约阅读时间需要 5 分钟。

前言

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

安装

下载 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.dylibReferenced from: /opt/cycript_0.9.594/Cycript.lib/cycript-aplReason: 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.0cp /usr/local/Cellar/ruby@2.0/2.0.0-p648_6/lib/libruby.2.0.0.dylib /opt/cycript_0.9.594/Cycript.lib/复制代码

转载于:https://juejin.im/post/5bcec08651882577cc47d2d4

你可能感兴趣的文章
my13_mysql xtrabackup备份的时间点
查看>>
java死锁详解
查看>>
[模板] 最近公共祖先/lca
查看>>
解析函数论 Page 8 $\log (1+x)$的泰勒展开
查看>>
如何创建一个 mongo 数据库并为它添加一个认证用户?
查看>>
工具使用——VMware安装及使用
查看>>
视频直播关键技术:流畅、拥塞和延时追赶
查看>>
OC面向对象—封装
查看>>
NGUI的anchors属性的使用
查看>>
从扩展方法到匿名方法再到LINQ
查看>>
Widows2003开机取消按CTRL+ALT+DEL
查看>>
小程序请求豆瓣API报403解决方法
查看>>
异或运算、与运算、或运算 运用在 多项选择题
查看>>
SQLITE3 使用总结(3~5)(转)
查看>>
WTL学习笔记——树形控件与XML结合
查看>>
An endpoint configuration section for contract "serviceReferenc.service" could not be loaded
查看>>
渗透测试专题二之msf(kali)的攻击教程将DOS操作系统中的本地文件接口“中断13”改造为网络文件系统...
查看>>
IIS应用池"启用32位应用程序"导致Service Unavailable
查看>>
关于linq to sql类线程同步问题
查看>>
DXT纹理压缩
查看>>