安裝cycript后,在控制台輸入命令
$ /opt/cycript_0.9.594
$ ./cycript
執行后遇到了這個問題:
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版本太高導致
1.首先查看電腦ruby版本
具體命令:
$ cd /System/Library/Frameworks/Ruby.framework/Versions/
$ ls
2.關閉系統的SIP
在 OS X El Capitan 中有一個跟安全相關的模式叫 SIP(System Integrity Protection ),它禁止讓軟件以 root 身份來在 Mac 上運行,在升級到 OS X 10.11 中或許你就會看到部分應用程序被禁用了,這些或許是你通過終端或者第三方軟件源安裝。對於大多數用戶來說,這種安全設置很方便,但是也有些開發者或者高級 Mac 用戶不需要這樣的設置。
- 電腦重啟按住command+R,進入恢復模式
- 打開終端,輸入
csrutil disable
,重啟 - 如果想打開SIP,重復上兩步,命令改為
csrutil enable
3.直接把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
注:根據每個人ruby版本不同,將上面第二條命令的
/System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/lib/libruby.2.3.0.dylib
中的2.3改成本機的ruby版本。 這里不是降級ruby,只是復制一份2.0的ruby的dylib,讓cycript運行起來。
再重新在控制台輸入命令
$ /opt/cycript_0.9.594
$ ./cycript
運行之后,出現則安裝成功:
cy#
參考: https://www.jianshu.com/p/f771310ea2e9 https://www.jianshu.com/p/dff9d05d67a8