This guy came up with a pretty neat tool to generate a class dependency graph - however, it relies on parsing your source code and looking for #import
directives.
This is neat, but I have a number of problems with this. Not least of which is it doesn't take into account imports of imports nor prefix headers nor whether-or-not the class(es) in the file referenced by the import are actually being used.
I'd like to do something more akin to class-dump
and examine the Objective-C metadata stored in the Mach-O file to generate an in-memory representation of the class dependencies.
I'd rather not do this from scratch, so I'm wondering:
- Has it already been done?
- Is there an open-source library which would provide me with the foundational tools I need to extract this information (a library which examines the Mach-O file and creates a façade of the Objective-C information contained within - such that I could iterate over all of the classes, their methods, properties, ivars, etc and scan for references to other classes) I figure class-dump's source would be a good place to start.
- If you have experience in this sort of thing, is what I'm trying to accomplish feasible?
- What roadblocks will I need to overcome?
id
issue. However, one of two possibilities exist: A.) The actual class being used for_rowData
isn't actually a dependency of your sample class. or B.) The actual class being used for_rowData
is referenced by one of your sample class' methods - in which case, scanning the contents of all the methods would allow me to find that dependency. – Renoir