Cycript 简单使用

安装

Cydia 里安装 Cycript:

启动

连接 iPhone 并登陆,在终端执行:

# 查看需要 cycript 进程,以 AppStore 为例
ps -A | grep AppStore

# 通过进程 ID 启动 cycript
cycript -p 9514

# 或者通过进程名启动 cycript
cycript -p AppStore

常用指令

# [UIApplication sharedApplication]
UIApp

# 定义变量:var 变量名 = 变量值
var window = UIApp.keyWindow
window.rootViewController

# #+内存地址获取对象
#0x148027a00.rootViewController

# 已加载的所有 OC 类
ObjectiveC.classes

# 查看对象的所有成员变量
*window

# 递归打印view的所有子控件(跟LLDB一样的函数)
view.recursiveDescription().toString()

# 筛选出某种类型的对象
choose(UIViewController)

封装方法

新建 JQ.cy 文件:

(function(exports) {
	RootVC = function() {
		return UIApp.keyWindow.rootViewController;
	};
})(exports);

JQ.cy 放置 /usr/lib/cycript0.9/ 文件夹下:

启动 cycript 导入 JQ.cy 并调用其中定义的方法:

常用操作

ctrl + c: 取消输入

ctrl + d: 退出 cycript

command + r: 清空屏幕