2017-02-27 92 views
1

这可能看起来过于雄心勃勃,但我正在探索从一个单独的应用程序(由我创作)中的一个应用程序呈现视图控制器的功能。我不是在谈论重用一个类,我指的是从另一个过程中直接从最重要的一个过程中呈现控制器。可能从另一个应用程序呈现UIViewController?

我相信这是在MacOS上的XPC领域,以及共享扩展如何在iOS上工作。不幸的是,我不是在寻找一个共享控制器。

这是否可能(即使使用私有API,如果必须)?

+0

您是否期望重复使用的视图控制器由其他进程或应用程序呈现? –

+0

@ReinSpijkerman它必须由其他进程控制。 – Ricky

回答

1

因为这两个应用程序都是由iOS构建的沙盒,所以他们中的任何一个都无法找到并加载另一个应用程序。扩展是Apple提供的另一个应用程序执行某些操作的唯一方式。

使用私有API不会提升沙箱限制。使用越狱设备,可以找到其他应用程序。在这种情况下,-[NSBundle loadClassNamed:]将允许您从已加载的(应用程序)包中获取并实例化一个类,但它仍将由实例化它的进程控制。

所以,不,你要求的不是现实可能的应用程序将分发给其他用户比你自己。如果只是为了自己,你可能能够在创建,控制和越狱设备上的进程之间进行交流方面有很多工作。

0

如果你有自己的服务器,那么这是可能的。只需让app1向您的服务器发送触发器,然后您的服务器将推送通知发送到您的app2。当用户点击通知时,它会打开你的app2视图控制器。

+1

我想过类似的东西,但利用URL方案。 – Ricky

+0

这肯定会奏效。祝你好运与你的应用程序。 :d – GeneCode

相关问题