https://github.com/leptos-null/classdumpctl
Command line tool to dump Objective-C headers
https://github.com/leptos-null/classdumpctl
classdump cli objc-runtime
Last synced: 3 months ago
JSON representation
Command line tool to dump Objective-C headers
- Host: GitHub
- URL: https://github.com/leptos-null/classdumpctl
- Owner: leptos-null
- License: mit-0
- Created: 2024-04-06T16:12:44.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-28T20:39:51.000Z (10 months ago)
- Last Synced: 2025-03-23T21:35:49.862Z (4 months ago)
- Topics: classdump, cli, objc-runtime
- Language: Objective-C
- Homepage:
- Size: 25.4 KB
- Stars: 10
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
README
## classdumpctl
`classdumpctl` is a command line tool to dump Objective-C class and protocol headers.
`classdumpctl` is built on top of [ClassDumpRuntime](https://github.com/leptos-null/ClassDumpRuntime).
### Usage
`classdumpctl` is designed for 3 primary uses:
- Inspecting a single class or protocol at a time
- use `-c ` or `-p `
- the output will be colorized by default (see `-m`)
- you may need to specify `-i ` with the path to the library or framework containing the class or protocol if it's not already loaded
- Dumping a single library or framework
- use `-i ` to specify the path to the binary
- use `-o ` to specify a directory to put the headers in
- Dumping the entire `dyld_shared_cache`
- use `-a`
- use `-o ` to specify a directory to put the headers in
- uses concurrency to process all images in the shared cache quickly (see `-j`)It can also do more. See the full options listing below:
```
Usage: classdumpctl [options]
Options:
-a, --dyld_shared_cache Interact in the dyld_shared_cache
by default, dump all classes in the cache
-l, --list List all classes in the specified image
if specified with -a/--dyld_shared_cache
lists all images in the dyld_shared_cache
-o, --output=
Use path as the output directory
if specified with -a/--dyld_shared_cache
the file structure of the cache is written to
the specified directory, otherwise all classes found
are written to this directory at the top level
-m , --color= Set color settings, one of the below
default: color output using ASNI color escapes only if output is to a TTY
never: no output is colored
always: color output to files, pipes, and TTYs using ASNI color escapes
html-hljs: output in HTML format annotated with hljs classes
html-lsp: output in HTML format annotated with LSP classes
-i, --image=
Reference the mach-o image at path
by default, dump all classes in this image
otherwise may specify --class or --protocol
-c , --class= Dump class to stdout (unless -o is specified)
-p , --protocol= Dump protocol to stdout (unless -o is specified)
-j , --jobs= Allow N jobs at once
only applicable when specified with -a/--dyld_shared_cache
(defaults to number of processing core available)--strip-protocol-conformance[=flag] Hide properties and methods that are required
by a protocol the type conforms to
(defaults to false)
--strip-overrides[=flag] Hide properties and methods that are inherited
from the class hierachy
(defaults to false)
--strip-duplicates[=flag] Hide duplicate occurrences of a property or method
(defaults to false)
--strip-synthesized[=flag] Hide methods and ivars that are synthesized from a property
(defaults to true)
--strip-ctor-method[=flag] Hide `.cxx_construct` method
(defaults to false)
--strip-dtor-method[=flag] Hide `.cxx_destruct` method
(defaults to false)
--add-symbol-comments[=flag] Add comments above each eligible declaration
with the symbol name and image path the object is found in
(defaults to false)
```