Cycript 安装和环境配置

作者: 奋进的小时光_Joe | 来源:发表于2018-04-20 11:14 被阅读384次

    Cycript允许开发人员探讨和修改iOS和Mac OS X上运行的应用程序。

    Cycript是一个理解Objective-C语法的javascript解释器,它能够挂钩正在运行的进程,能够在> 运行时修改应用的很多东西。

    Cyctipt 安装

    1. 下载资源

    Cycript 官方完整
    资源下载完成后,解压。

    2. 将资源放入指定位置

    将资源放入到一个自己想要安装的位置,我的是放在磁盘 -> opt文件夹下,如果安装过MonkeyDev,你会发现它的资源文件也在这里。

    放置 Cycript 资源

    3. 配置环境变量

    进入终端,编辑.base_profile文件

        $ vim ~/.bash_profile
    
    编辑.base_profile文件

    增加相对应的绝对路径,点击shift + i进入编辑模式,输入一些代码,其中cycript_src='你的 cycript资源所在的绝对路径',例如我的就是

        export cycript_src=/opt/cycript_0.9.594/
        export PATH=$PATH:$cycript_src
    
    配置环境变量
     点击 esc 退出编辑模式,输入`:+ wq`,保存退出。
    

    更新刚配置的环境变量

        $ source .bash_profile
    

    如果是使用iTerm2+oh my zsh组合,可以在.zshrc配置文件中导入source .bash_profile,这样每次打开就不用手动执行了!

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

    验证配置是否成功

        $ cycript
    

    完成!!!

    运行 Cycript

    点击control + D可以退出 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版本

    $ ruby -v
    

    有可能你的电脑安装了rvm,用ruby -v命令查看的是指定的ruby版本,正确做法应该是cd到/System/Library/Frameworks/Ruby.framework/Versions/ 目录下查看具体版本

    $ 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,重启

      打开终端,输入`csrutil disable`
    • 如果想打开SIP,重复上两步,命令改为csrutil enable

    3. 直接把本机的ruby版本的复制一份,改为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运行起来。

    本文章参考:《配置cycript环境变量及遇到的问题》

    文章无特殊说明皆为原创,转载请说明
    

    如果感觉有帮助的话,请点一个喜欢!

    相关文章

      网友评论

      • ca04a13f364c:谢谢~ 很好 按照步骤来很快就解决了

      本文标题:Cycript 安装和环境配置

      本文链接:https://www.haomeiwen.com/subject/fmrakftx.html