首先,让我明确说明我需要它不简单(显然我想要的是而不是只是为了执行另一个应用程序)。
我需要什么:
示例 (虽然我的想法并非100%明确):
我不知道我所描述的内容是否可行。但是,我仍然需要听取您对此的意见。我已经做了很多关于此事的研究,虽然我将基于整个概念,使主机应用程序可以通过外部脚本扩展(它获得输入并提供一些输出 - 通过php,python,AppleScript,等等.. 。),这不包括“插件”有自己的用户界面的情况。
那么,有什么想法吗? (一个例子或一些具体的参考指向我将是理想的...)
答案 0 :(得分:2)
有一个新的API可以准确地解决您的需求:
XPC Services API是libSystem的一部分,它为与Grand Central Dispatch(GCD)集成并启动的基本进程间通信提供了一种轻量级机制。 XPC Services API允许您创建称为XPC服务的轻量级辅助工具,代表您的应用程序执行工作。
Daemons and Services Programming Guide
在WWDC 2012 videos中有一个很好的谈论。
你描述的内容确实很可能 - 而且不一定非常困难。但是,你的“例子”并不是 - 正如你所说的那样 - 完全连贯。您希望第二个应用程序是独立的,但您不希望它看起来像“外部”;这些力量并不完全可以调和。出于显而易见的原因,您不太可能做的是接管已经独立运行的应用程序。但是你可以开始自己的流程。
通常的架构是让几个守护进程或服务为您执行任务,以及一个控制进程,它还处理所有内容的用户界面。如上所述,邮件以这种方式运作。