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);
- 删掉
网友评论