iOS如何使用私有API中的UIApplication launchApplicationWithIdentifier?

[编辑]我有我的设备。 我在Github上find了最新的私有API iOS-Runtime-Headers 。

我想在我的应用程序中使用私人API。

我在github上find了kennytm / iphone-private-frameworks ,但它只支持iOS 3.x。 当我在iOS 5.0.1上工作时。

我还在Google iPhone开发工具上find了一些代码 。 但这真的让我感到困惑。 我是iPhone新手。

我该怎么做才能使用

[[UIApplication sharedApplication] launchApplicationWithIdentifier:@"com.ab" suspended:NO]; 

有人可以给我一个方向或一些例子。 非常感谢。

要求

  1. 越狱 iDevice
  2. 您的钥匙串及其关联的供应configuration文件中的 有效证书/密钥 。 (如果您没有注册苹果开发者计划,请使用以下解决方法: 自签名我的代码并在xCode的iPhone上进行testing )

我的解决scheme

1)在您的XCode项目中启用权利

要将权利添加到项目中,请在项目导航器中select项目 ,然后在活动的目标 – > 摘要 – > 权利 – >选中启用权利checkbox。 名称为“ YourProject.entitlements ”的新文件将出现在项目导航器中。

2)将以下属性添加到权利。

添加授权属性:值为YES的布尔型的com.apple.springboard.launchapplications

3)自launchApplicationWithIdentifier:suspended:私人的API ,你需要显式声明它,以build立你的应用程序。 只需在适当的地方添加以下代码

 // Simply make declaration inside a Category. #import "BlahBlah.h" @interface UIApplication (Undocumented) - (void) launchApplicationWithIdentifier: (NSString*)identifier suspended: (BOOL)suspended; @end .... @implementation BlahBlah ... 

4) build立你的项目。

5)将YourProject.app复制到设备/应用程序文件夹(例如,通过SFTP)

6) Respring或重新启动iDevice。

7)…

8)利润!

也可以看看

从我的应用程序启动应用程序的特殊API – 另一个解决scheme

iOS中苹果默认应用程序的软件包标识是什么?