iOS 私有(private) API - 通过 bundle ID 启动应用程序

标签 ios iphone-privateapi

一组三个问题,最后一个是期望的目标:

1) 可以使用 GraphicsServices 方法并从私有(private)框架链接二进制文件。为什么不能用 SpringBoard SBUIController 做类似的事情?

2)不越狱就不能使用SBUIController吗?

3) 如何在 iOS 6 上通过 bundle ID 启动应用程序(通过私有(private) API 但无需越狱)?

最佳答案

应用程序与框架

GraphicServices 是框架。它专门设计用于链接到第 3 方应用程序并由其用户使用。我记得 SBUIController 是 Springboard 的一部分,它是独立的应用程序(并非设计为链接到)

即使在这种情况下,如果您能够以某种方式从 Springboard 链接/加载代码,该代码将无法运行,因为您缺少与其他服务通信的权利。

权利

越狱允许您将代码注入(inject)第 3 方应用程序(包括 Springboard),这样代码在 Springboard 中执行并具有适当的权利。

实际上,对于越狱设备,您可以为您的代码添加权利并对其进行签名。但是,您无法对未越狱的设备执行此操作。

所以,我想说,对于非越狱设备,您应该放弃 SBUIController 方法。

尝试启动应用

大约半年前我有同样的问题,我花了很多时间在这个问题上。我尝试了以下事情但没有成功:

  • SBSLaunchApplicationWithIdentifier
  • SBReturnToPreviousAppAtSpecifiedTime
  • 尝试使用 BKSWorkspace

和其他一些方法。

一些额外的想法

如果第 3 方应用程序处理某些 URL 方案,您可以使用它来启动此第 3 方应用程序。

关于iOS 私有(private) API - 通过 bundle ID 启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16408854/

相关文章:

ios - 如何停止从另一个 ViewController 播放音频?

ios - 将闭包传递给私有(private) API

iOS - TableView 和 TableView Controller 有什么区别

ios - libMobileGestalt 是否在 iOS 9 上被弃用?

ios - 如何在 iOS 7(越狱)中通过上下文 ID 或 mach 端口获取应用程序的包标识符?

ios - 如何在 Xcode 8.3 中导入私有(private)框架而不出现 "Undefined symbols for architecture arm64"

objective-c - iOS 私有(private)框架

ios - 自定义设置按钮背景色ios

ios - 包含 UIStackViews 的 UITableViewCell 使用大量内存

uitableview - uitableview 的自定义子类的问题