Cycript允許開發(fā)人員通過交互式控制臺卡儒,使用Objective-C ++和JavaScript語法的混合丁逝,在iOS或Mac OS X上檢測和修改正在運行的應(yīng)用程序。
一. 安裝 cycript
下載 SDK ,將下載好的文件解壓到 磁盤/opt
目錄下
http://www.cycript.org/
image.png
二. 配置環(huán)境變量
1哲鸳、 創(chuàng)建或打開 .bash_profile
文件
cd
到當前用戶目錄下 cd ~
,執(zhí)行:
$ vim .bash_profile
2盔憨、 增加cycript的絕對路徑
export cycript_path="/opt/cycript_0.9.594"
PATH=$PATH:$cycript_path
3徙菠、 更新剛配置的環(huán)境變量
$ source .bash_profile
此外,打開vim .zshrc
將 .bash_profile
加入 (適用iterm2 zsh組合)source .bash_profile
4郁岩、 驗證配置是否成功婿奔,若終端輸出 cy#
表示成功
$ cycript
# cy
三. 使用
1、安裝 MonkeyDev 運行app
2问慎、使用Cycript
連接到已運行手機上的app
cycript [-c] [-p <pid|name>] [-r <host:port>] [<script> [<arg>...]]
例如:
cycript -r 10.10.3.145
3萍摊、 命令語法使用
四. 問題
1. 執(zhí)行$ cycript
出現(xiàn)以下情況:
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 版本太高 大于 2.0
查看ruby版本 $ ruby -v
解決: 創(chuàng)建Ruby2.0版本文件,并將2.3版本文件拷貝到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
2. sudo mkdir
出現(xiàn)權(quán)限問題蝴乔,關(guān)閉SIP,關(guān)閉詳情請參考 系統(tǒng)完整性保護(SIP)
mkdir: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib: Operation not permitted