要获取iOS项目中的类列表,我可以使用运行时API objc_getClassList
作为打击,
但无法通过这种方式获得类别。那么,是否有任何类型的objc_getCategoryList
函数?
我看上去很像,没什么。
#import <objc/runtime.h>
-(void) showCustomClassName {
unsigned int classNamesCount = 0;
NSString *appImage = [NSBundle mainBundle].executablePath;
const char **classNames = objc_copyClassNamesForImage([appImage UTF8String], &classNamesCount);
if (classNames) {
NSMutableArray *classNameStrings = [NSMutableArray array];
for (unsigned int i = 0; i < classNamesCount; i++) {
const char *className = classNames[i];
NSString *classNameString = [NSString stringWithUTF8String:className];
[classNameStrings addObject:classNameString];
}
NSArray *allClassNames = [classNameStrings sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
NSLog(@"---%@", allClassNames);
free(classNames);
}
}