Cycript 安裝和環(huán)境配置

Cycript允許開發(fā)人員探討和修改iOS和Mac OS X上運(yùn)行的應(yīng)用程序。

Cycript是一個理解Objective-C語法的javascript解釋器,它能夠掛鉤正在運(yùn)行的進(jìn)程,能夠在> 運(yùn)行時修改應(yīng)用的很多東西。

Cyctipt 安裝

1. 下載資源

Cycript 官方完整
資源下載完成后,解壓。

2. 將資源放入指定位置

將資源放入到一個自己想要安裝的位置,我的是放在磁盤 -> opt文件夾下,如果安裝過MonkeyDev,你會發(fā)現(xiàn)它的資源文件也在這里。

放置 Cycript 資源

3. 配置環(huán)境變量

進(jìn)入終端,編輯.base_profile文件

    $ vim ~/.bash_profile
編輯.base_profile文件

增加相對應(yīng)的絕對路徑,點擊shift + i進(jìn)入編輯模式,輸入一些代碼,其中cycript_src='你的 cycript資源所在的絕對路徑',例如我的就是

    export cycript_src=/opt/cycript_0.9.594/
    export PATH=$PATH:$cycript_src
配置環(huán)境變量
 點擊 esc 退出編輯模式,輸入`:+ wq`,保存退出。

更新剛配置的環(huán)境變量

    $ source .bash_profile

如果是使用iTerm2+oh my zsh組合,可以在.zshrc配置文件中導(dǎo)入source .bash_profile,這樣每次打開就不用手動執(zhí)行了!

    $ vim ~/.zshrc
添加.bash_profile引用

驗證配置是否成功

    $ cycript

完成!?。?/h4>
運(yùn)行 Cycript

點擊control + D可以退出 Cycript。

執(zhí)行后遇到了這個問題:

dyld: Library not loaded: /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/libruby.2.0.0.dylib
  Referenced from: /Users/devzkn/Downloads/cycript_0.9.594/Cycript.lib/cycript-apl
  Reason: image not found

這個錯誤是因為電腦的ruby版本太高導(dǎo)致

1. 首先查看電腦ruby版本

$ ruby -v

有可能你的電腦安裝了rvm,用ruby -v命令查看的是指定的ruby版本,正確做法應(yīng)該是cd到/System/Library/Frameworks/Ruby.framework/Versions/ 目錄下查看具體版本

$ cd /System/Library/Frameworks/Ruby.framework/Versions/
$ ls

2. 關(guān)閉系統(tǒng)的SIP

在 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è)置。

  • 電腦重啟,聽到咚的時候,按住command+R,進(jìn)入恢復(fù)模式

  • 打開終端,輸入csrutil disable,重啟

    打開終端,輸入`csrutil disable`

  • 如果想打開SIP,重復(fù)上兩步,命令改為csrutil enable

3. 直接把本機(jī)的ruby版本的復(fù)制一份,改為2.0即可

運(yùn)行如下命令:

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

注:根據(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)行起來。

本文章參考:《配置cycript環(huán)境變量及遇到的問題》

文章無特殊說明皆為原創(chuàng),轉(zhuǎn)載請說明

如果感覺有幫助的話,請點一個喜歡!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容