Я использую заголовки iOS Runtime от nst, чтобы получить доступ к CoreTelephony.framework.
Вот его пример кода:
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/FTServices.framework"];
BOOL success = [b load];
Class FTDeviceSupport = NSClassFromString(@"FTDeviceSupport");
id si = [FTDeviceSupport valueForKey:@"sharedInstance"];
NSLog(@"-- %@", [si valueForKey:@"deviceColor"]);
Его пример кода использования дает мне доступ к FTServices.framework, но когда я применяю ту же логику, происходит сбой, поскольку CoreTelephony не содержит метод класса с именем sharedInstance().
Должен ли я объявить и реализовать это сам или есть другой способ?
Спасибо.
ИЗМЕНИТЬ:
Моя попытка:
NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/Frameworks/CoreTelephony.framework"];
BOOL success = [b load];
Class CTTelephonyNetworkInfo = NSClassFromString(@"CTTelephonyNetworkInfo");
id si = [CTTelephonyNetworkInfo valueForKey:@"sharedInstance"]; // fails here
NSLog(@"-- %@", [si valueForKey:@"cachedSignalStrength"]);
CTTelephonyNetworkInfo
в обычном режиме, а затем получить доступ к нужному частному свойству, используяvalueForKey:
, как в последней строке вашего фрагмента. - person dan   schedule 26.10.2015