Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS 7专用API使用_Ios_Frameworks_Ios7_Iphone Privateapi - Fatal编程技术网

iOS 7专用API使用

iOS 7专用API使用,ios,frameworks,ios7,iphone-privateapi,Ios,Frameworks,Ios7,Iphone Privateapi,昨天我尝试在iOS 7中使用私有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. NS

昨天我尝试在iOS 7中使用私有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中使用此代码段时,它返回空指针。 框架、类和方法仍然存在()。 对我的问题有什么想法吗?是否有额外的安全层使得在iOS 7中调用私有API不再可能


谢谢大家!

在大多数情况下,这种行为意味着此API受到授权的保护。这是一种跨iOS使用的授权方法。API的大部分调用都来自ProcessServer。该服务器可以检查客户机是否具有特定的权限。权限仅适用于越狱iOS上的系统应用程序和第三方应用程序

没有简单的方法可以检查服务器是否需要授权。然而,有时它会在控制台中写入类似“嘿……您需要X来调用API Y”的内容。然而,在大多数情况下,它会默默地失败


如果您真的想检查这一点,您必须反汇编框架以查看它使用的是哪台服务器,并反汇编服务器并找到此API的实现。

@H2CO3:非常有用的注释。让我们用吝啬的讽刺来做得更好。@H2CO3:OP在他的问题上不要哭。他展示了代码,解释说它不起作用,并询问了额外的安全层(实际上,他有一个很好的问题)。我同意您的观点,使用私有api是有风险的,但是您的评论没有帮助,因为它们没有提供任何有用的信息。顺便说一句,PC时代的许多用户使用了大量未经证明的操作系统功能,并由此发展出了成功的大企业。所以,我不会这么快使用私有API。我不太明白这个答案,但我的AADeviceInfo也无法在iOS7上获取uuid。@z33:请详细说明您不明白的地方。谢谢您的提问。我不明白答案是肯定的还是否定的。我猜答案是否定的,除非我们必须“必须分解框架,看看它使用哪台服务器,分解服务器,并找到这个API的实现。”才能找到答案。我说得对吗?是的。你是对的。答案是“很可能不是”,但要100%确定,需要进行大量拆卸。