Cycript允許開發(fā)人員探討和修改iOS和Mac OS X上運(yùn)行的應(yīng)用程序糙俗。Cycript是一個理解Objective-C語法的javascript解釋器,它能夠掛鉤正在運(yùn)行的進(jìn)程预鬓,能夠在> 運(yùn)行時修改應(yīng)用的很多東西巧骚。
一、下載地址
Cycript
官方網(wǎng)站下載地址:下載鏈接
二格二、安裝步驟
安裝的具體步驟
- 1.將下載的壓縮文件進(jìn)行解壓劈彪。
-
2.將解壓后的文件夾拷貝到自定義的一個目錄下,例如:
/opt
顶猜。
-
3.配置環(huán)境變量沧奴,打開
iTerm2
,使用vim ./.base_profile
命令編輯文件长窄。 -
4.在base_profile文件中添加
export cycript_src=/opt/cycript_0.9.594/
和export PATH=$PATH:$cycript_src
兩行命令滔吠,如果PATH已經(jīng)定義過纲菌,則直接使用:
和$
進(jìn)行追加。
-
5.退出文件編輯并保存屠凶,重啟
iTerm2
驰后,使用cycript
命令查看效果。
注意:點(diǎn)擊control + D可以退出 Cycript 模式矗愧。
三灶芝、安裝時可能出現(xiàn)的錯誤
在使用cycript
命令查看效果時,終端提示錯誤信息唉韭。
1.Ruby版本過高的錯誤
因?yàn)殡娔X攜帶的Ruby版本太高導(dǎo)致的夜涕,錯誤信息如下圖所示。
解決辦法
1. 首先使用命令
$ ruby -v
查看電腦Ruby版本信息属愤。有可能你的電腦安裝了rvm女器,用ruby -v命令查看的是指定的ruby版本,換個方法查看Ruby版本信息住诸,使用命令cd /System/Library/Frameworks/Ruby.framework/Versions/
和ls
查看具體版本信息驾胆。2. 關(guān)閉系統(tǒng)的SIP模式[1](在 OS X El Capitan 中有一個跟安全相關(guān)的模式叫 SIP(System Integrity Protection ),它禁止讓軟件以 root 身份來在 Mac 上運(yùn)行贱呐,在升級到 OS X 10.11 中或許你就會看到部分應(yīng)用程序被禁用了丧诺,這些或許是你通過終端或者第三方軟件源安裝。對于大多數(shù)用戶來說奄薇,這種安全設(shè)置很方便驳阎,但是也有些開發(fā)者或者高級 Mac 用戶不需要這樣的設(shè)置),具體關(guān)閉SIP的步驟在文章結(jié)尾處描述馁蒂。
3. 使用命令[2]直接把本機(jī)的ruby版本的復(fù)制一份呵晚,改為2.0即可。
注意:根據(jù)每個人Ruby版本不同沫屡,將上面第二條命令的/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib中的2.3改成本機(jī)的ruby版本饵隙。
這里不是降級Ruby,只是復(fù)制一份2.0的Ruby的dylib谁鳍,讓cycript運(yùn)行起來癞季。
附一、關(guān)閉系統(tǒng)的SIP模式步驟
-
1. 電腦重啟倘潜,聽到咚的時候绷柒,按住
command+R
,進(jìn)入恢復(fù)模式 -
2. 打開終端涮因,輸入
csrutil disable
废睦,重啟 -
3. 如果想打開SIP,重復(fù)上兩步养泡,命令改為
csrutil enable
附二嗜湃、直接把本機(jī)的Ruby版本的復(fù)制一份改為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