У меня есть строка с именем класса, и я пытаюсь получить имя фреймворка, которому принадлежит класс.
Что я пробовал:
- пакетForClass
Class *myClass = NSClassFromString(@"ClassName");
[NSBundle bundleForClass:myClass];
Но я не могу заставить его работать с перемещаемым/статическим типом mach-o.
- Добавление нового метода в NSObject с использованием категорий
// This is on NSObject+ModuleID.h
@interface NSObject (ModuleID)
- (NSString *) moduleIdentifier;
@end
// This is on NSObject+ModuleID.m
@implementation NSObject (ModuleID)
- (NSString *) moduleIdentifier { return @"Framework Name"; }
@end
Class *myClass = NSClassFromString(@"ClassName");
[myClass moduleIdentifier];
Это не работает, так как проект включает более 1 фреймворка.
- Добавление нового строкового свойства, содержащего имя фреймворка, в каждый класс в фреймворках
-(NSString *)moduleIdentifier
{ return @"Framework Name"; }
Это невозможно, учитывая, что количество классов легко превышает сотню.
Есть какой-либо способ сделать это? Любой вклад будет оценен, спасибо!
lldb
stackoverflow.com/a/40120375/5329717? - person Kamil.S   schedule 19.04.2020