ICMethodDigger
An easy way to print almost methods including private methods (supported arm64 architecture devices).
An easy way to print almost methods including private methods (supported arm64 architecture devices). The project is written primarily in Objective-C, distributed under the MIT License license, first published in 2018. Key topics include: hook, ios, load, log, methodswizzling.
ICMethodDigger 中文说明
An easy way to print almost methods including private methods (supported arm64 architecture devices).
Requirements
- iOS 8.0+
- arm64 Device
Installation
Pod
pod 'ICMethodDigger'
Manually
Drag all files under Source folder to your project, and set build architecture to arm64.
Usage
1. import ICMethodDigger.h to your target file like this:
Objectivec#import "ICMethodDigger.h"
2. call icm_logMethod method to log what you want:
ObjectivecFOUNDATION_EXTERN void icm_logMethod(Class cls, ICConditionBlock condition, _Nullable ICBeforeBlock before, _Nullable ICAfterBlock after);
-
log all methods of target class
Objectivecicm_logMethod([ViewController class], ^BOOL(SEL sel) { NSLog(@"%@", NSStringFromSelector(sel)); return NO; }, nil, nil);
-
log methods of target class at running
Objectivecicm_logMethod([ViewController class], ^BOOL(SEL sel) { NSLog(@"%@", NSStringFromSelector(sel)); return YES; }, nil, nil);
-
log cost time of method
Objectivecicm_logMethod([UIViewController class], ^BOOL(SEL sel) { return YES; }, nil, ^(id target, SEL sel, NSArray *args, NSTimeInterval interval, id retValue) { NSLog(@"target:%@ sel:%@ interval: %f", target, NSStringFromSelector(sel), interval); });
3. Connect arm64 device to your project, and then build and run.
Contributing
Issues and pull requests are welcome!
Acknowledgements
LICENSE
ICMethodDigger is available under the MIT license. See the LICENSE file for more info.
Contributors
Showing top 1 contributor by commit count.
This article is auto-generated from kealdishx/ICMethodDigger via the GitHub API.Last fetched: 6/23/2026
