我如何使用私有系统API?

时间:2014-01-15 19:42:22

标签: ios jailbreak iphone-privateapi

我想使用私有/隐藏的iOS方法,例如clearIdleTimer类(example here)中的SpringBoard。我该怎么做呢?很多信息都引用了较旧的iOS版本。

这仅用于实验,我认识到私有API不是App Store批准的。此外,我的iOS设备已注册开发但未越狱。

编辑:我发现了这些iOS-Runtime-Headers,但样本对我不起作用。

1 个答案:

答案 0 :(得分:4)

并非所有私有API都相同。

您可以在任何应用中使用其中一些...您只是不会将它们批准用于App Store。

您可以使用其中一些,但前提是您的应用以root权限运行,这需要使用越狱手机(plus other steps)。

你可以使用其中一些,但你需要grant your app an entitlement,我认为这也需要越狱手机。

对于此API:

@interface SpringBoard <UIApplicationDelegate, SBWiFiManagerDelegate>
{
}
- (void)clearIdleTimer;

您正在尝试直接调用SpringBoard 应用程序中的方法。您通常无法直接调用其他应用程序的方法。

可以执行此操作的一种方法是使用Mobile Substrate (now called Cydia Substrate)。这是一个功能强大的代码注入平台,允许您挂钩SpringBoard应用程序,并使用clearIdleTimer。但是,使用Mobile / Cydia基板需要越狱手机。

一些SpringBoard类型的功能被设计为由其他应用程序调用,而那些应用程序位于SpringBoardServices,这与SpringBoard应用程序不同。您可以尝试搜索SpringBoardServices以获得同等功能。这些API是私有的,但可能不需要越狱(我不记得......我的手机越狱了,所以我不必担心)。

我怀疑不是你想要的答案:(