{"id":22848716,"url":"https://github.com/kealdishx/icmethoddigger","last_synced_at":"2025-10-14T07:16:32.347Z","repository":{"id":56914860,"uuid":"142739399","full_name":"kealdishx/ICMethodDigger","owner":"kealdishx","description":"An easy way to print almost methods including private methods (supported arm64 architecture devices).","archived":false,"fork":false,"pushed_at":"2020-03-08T07:24:50.000Z","size":50,"stargazers_count":107,"open_issues_count":0,"forks_count":6,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-14T07:16:28.649Z","etag":null,"topics":["hook","ios","load","log","methodswizzling","objective-c","runtime","swizzling","tool"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kealdishx.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-07-29T07:16:36.000Z","updated_at":"2024-05-07T02:56:42.000Z","dependencies_parsed_at":"2022-08-21T02:50:40.288Z","dependency_job_id":null,"html_url":"https://github.com/kealdishx/ICMethodDigger","commit_stats":null,"previous_names":["iiiceblink/icmethoddigger"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/kealdishx/ICMethodDigger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kealdishx%2FICMethodDigger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kealdishx%2FICMethodDigger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kealdishx%2FICMethodDigger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kealdishx%2FICMethodDigger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kealdishx","download_url":"https://codeload.github.com/kealdishx/ICMethodDigger/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kealdishx%2FICMethodDigger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279018217,"owners_count":26086303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-14T02:00:06.444Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hook","ios","load","log","methodswizzling","objective-c","runtime","swizzling","tool"],"created_at":"2024-12-13T04:13:52.372Z","updated_at":"2025-10-14T07:16:32.319Z","avatar_url":"https://github.com/kealdishx.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ICMethodDigger [中文说明](https://github.com/iiiCeBlink/ICMethodDigger/blob/master/README_CN.md)\n\nAn easy way to print almost methods including private methods (supported arm64 architecture devices).\n\n## Requirements\n\n- iOS 8.0+\n- arm64 Device\n\n## Installation\n\n#### Pod\n\n```\npod 'ICMethodDigger'\n```\n\n##### Manually\n\nDrag all files under `Source` folder to your project, and **set build architecture to `arm64`**.\n\n## Usage\n\n#### 1. import `ICMethodDigger.h` to your target file like this:\n\n```Objectivec\n#import \"ICMethodDigger.h\"\n```\n\n#### 2. call `icm_logMethod` method to log what you want:\n\n```Objectivec\nFOUNDATION_EXTERN void icm_logMethod(Class cls, ICConditionBlock condition, _Nullable ICBeforeBlock before, _Nullable ICAfterBlock after);\n```\n\n- ##### log all methods of target class\n\n```Objectivec\nicm_logMethod([ViewController class], ^BOOL(SEL sel) {\n\t\tNSLog(@\"%@\", NSStringFromSelector(sel));\n\t\treturn NO;\n\t}, nil, nil);\n```\n\n- ##### log methods of target class at running\n\n```Objectivec\nicm_logMethod([ViewController class], ^BOOL(SEL sel) {\n\t\tNSLog(@\"%@\", NSStringFromSelector(sel));\n\t\treturn YES;\n\t}, nil, nil);\n```\n\n- ##### log cost time of method\n\n```Objectivec\nicm_logMethod([UIViewController class], ^BOOL(SEL sel) {\n\t\treturn YES;\n\t}, nil, ^(id target, SEL sel, NSArray *args, NSTimeInterval interval, id retValue) {\n\t\tNSLog(@\"target:%@ sel:%@ interval: %f\", target, NSStringFromSelector(sel), interval);\n\t});\n```\n\n#### 3. Connect `arm64` device to your project, and then build and run. \n\n## Contributing\n\nIssues and pull requests are welcome!\n\n## Acknowledgements\n\n- [ANYMethodLog](https://github.com/qhd/ANYMethodLog)\n- [MainThreadChecker](https://github.com/SatanWoo/MainThreadChecker)\n\n## LICENSE\n\nICMethodDigger is available under the MIT license. See the LICENSE file for more info.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkealdishx%2Ficmethoddigger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkealdishx%2Ficmethoddigger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkealdishx%2Ficmethoddigger/lists"}