美文网首页
14_Logos语法

14_Logos语法

作者: 伶俐ll | 来源:发表于2020-08-12 12:47 被阅读0次
    Logos语法地址:http://iphonedevwiki.net/index.php/Logos
    • %hook%end:hook一个类的开始和结束
    %hook SBIconParallaxBadgeView
     - (id)init
     {
         return nil;
     }
     %end
    
    • %ctor:在加载动态库时调用

    • %dtor:在程序退出是调用

    • %new:添加一个新的方法,如果方法找不到,需要声明

    %new
    -(void)myNewFunction
    {
    }
    
    • %orig:函数原来的代码逻辑
    • %c(className):生成一个Class对象
    • 如果有额外的资源文件(比如图片),放在项目的layout(新建)文件夹中,对应着手机的根路径/
      一般将资源放到手机里面的/Library/Caches/新建文件夹/路径下,所以在项目中一般新建文件夹路径为:layout/Caches/新建文件夹/
      Snip20200812_6.png
    //宏定义
    #define LZFilePath(path) @"/Library/PreferenceLoader/Preferences/wechat_lz/" #path
    
    //使用
    LZFilePath(skull.png)
    
    • %log:打印方法调用详情
      可以通过xcode->window->Devices and Simulators查看日志

    • logify.pl:可以将一个头文件快速转换成已经包含打印信息的xm文件
      % logy.pl xxx.h > xxx.xm
      注意:使用logify.pl 生成xm文件,很多时候是编译不通过的,需要进行一些处理

      • 删掉__weak
      • 删掉inout
      • 删掉协议,或者声明一个协议信息 @protocol XXXDelegate
      • 替换类名为void,比如将XXXPerson *替换成 void *,或者声明一下类信息@class XXXPerson
      • 删掉-(void)cxx_destruct{%log;%orig;}
      • 删掉HBLogDebug(@"=0x%x",(unsigned int)r);

    相关文章

      网友评论

          本文标题:14_Logos语法

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