iOS 7专用API使用

前端之家收集整理的这篇文章主要介绍了iOS 7专用API使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
昨天我试图在iOS 7中使用Private API,但它不起作用.
以下电话适用于iOS 6:
1. NSBundle *b = [NSBundle bundleWithPath:@"/System/Library/PrivateFrameworks/AppleAccount.framework"];
2. BOOL success = [b load];
3.
4. Class AADeviceInfo = NSClassFromString(@"AADeviceInfo");
6.
7. NSLog(@"-- serialNumber: %@",[AADeviceInfo serialNumber]);
8. NSLog(@"-- udid: %@",[AADeviceInfo udid]);

在iOS 7中使用此代码段时,它返回一个空指针.
框架,类和方法依然存在(click me).
任何想法我的问题?是否有额外的安全层,使得不再可能在iOS 7中调用私有API?

谢谢!

解决方法

在大多数情况下,这种行为意味着此API将受到权利的保护.这是跨iOS使用的授权方法. API的大部分呼叫进程服务器.而这个服务器可能会检查一个客户端是否具有一些特定的权利.授权仅适用于越狱iOS上的系统应用程序和第三方应用程序.

没有简单的方法来检查服务器是否需要授权.但是,有时它会在控制台中写入“嘿…您需要授权X来调用API Y”.但是,大多数时候,它默默地失败了.

如果你真的想检查这个,你将不得不反汇编框架,看看它使用哪个服务器,并反汇编服务器并查找这个API的实现.

猜你在找的iOS相关文章