Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #import <objc/runtime.h>
- NSArray *AllImageNames() {
- unsigned int imageCount = 0;
- const char **imageNames = objc_copyImageNames(&imageCount);
- NSMutableArray<NSString *> *imageNameStrings = [[NSMutableArray alloc] initWithCapacity:imageCount];
- if (imageNames!=NULL) {
- for (unsigned int i = 0; i < imageCount; i++){
- const char *imageName = imageNames[i];
- NSLog(@"image name: %s", imageNames[i]);
- [imageNameStrings addObject:[NSString stringWithUTF8String:imageName]];
- }
- free(imageNames);
- }
- NSLog(@"Total image count: %u", imageCount);
- return [imageNameStrings sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
- }
- NSArray *AllClassNamesForImage(const char *imageName) {
- unsigned int classNamesCount = 0;
- const char ** classNames = objc_copyClassNamesForImage(imageName, &classNamesCount);
- NSMutableArray<NSString *> *classNameStrings = [[NSMutableArray alloc] initWithCapacity:classNamesCount];
- if (classNames != NULL) {
- for (int i = 0; i < classNamesCount; i++) {
- const char *className = classNames[i];
- NSLog(@"class name: %s", classNames[i]);
- [classNameStrings addObject:[NSString stringWithUTF8String:className]];
- }
- free(classNames);
- }
- NSLog(@"Total class count: %u", classNamesCount);
- return [classNameStrings sortedArrayUsingSelector:@selector(caseInsensitiveCompare:)];
- }
- // eg:
- // AllImageNames();
- // AllClassNamesForImage(class_getImageName([self class]));
- // AllClassNamesForImage([NSBundle mainBundle].executablePath.UTF8String);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement