繁体   English   中英

使用Objective-C隐藏API(iPhone)

[英]Using Objective-c hidden api (iphone)

我正在尝试根据此链接使用此guthub以使用目标c私有api,但文档非常糟糕。

我将过去的示例代码复制到了我的xcode中,但是出现编译错误。

NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/TelephonyUI.framework"];
BOOL success = [b load];

Class SKTelephonyController = NSClassFromString(@"SKTelephonyController");

//this line cussing the error
**id tc = [SKTelephonyController sharedInstance];**

NSLog(@"-- myPhoneNumber: %@", [tc myPhoneNumber]);
NSLog(@"-- imei: %@", [tc imei]);

错误:

No known instance method for selector 'myPhoneNumber'

有人可以请指导或其他入门方法吗?

哦,我知道我的应用程序不会通过Apple验证,我不需要在那里验证其内部应用程序。

谢谢。

首先,该示例没有说明要加载SKTelephonyController ,而是要加载GAIA.framework
其次是SKTelephonyController和GAIA不适用于iOS7(它们正在iOS 6上运行)

这是示例,您需要如何虚拟声明一个接口并进行调用。

@interface SKTelephonyController : NSObject

+ (id)sharedInstance;
+ (NSString *)myPhoneNumber;
+ (NSString *)imei;

@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/GAIA.framework"];
    BOOL success = [b load];
    if (!success) {
       NSLog(@"Can't load bundle");
       return;
    }
    NSLog(@"-- imei: %@", [[SKTelephonyController sharedInstance] imei]);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM