MethodSwizzle

新建工程,注入 Framework后,注入简单测试代码,利用 Runtime 特性交换方法

#import <objc/message.h>

+ (void)load
{
   // 传入 -id- 类型
//    object_getClass(id  _Nullable obj)
   // 传入-字符串- 类型
//    objc_getClass(const char * _Nonnull name)

//    WCAccountLoginControlLogic
//    onFirstViewRegester
   
   // 获取WC的方法
   Method old_Method = class_getInstanceMethod(objc_getClass("WCAccountLoginControlLogic"), @selector(onFirstViewRegester));
   Method new_Mehod = class_getInstanceMethod(self, @selector(test1));
   
   method_exchangeImplementations(old_Method, new_Mehod);
   
   NSLog(@"加载完成--🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺!!!");
}

- (void)test1
{
   NSLog(@"🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺!!!\n 系统检测到异常!!!!!不能注册!!!");
}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容