1

我编写了一个实现 FinderSync 扩展的应用程序。

DistributedNotificationCenter一切正常,我可以通过从扩展程序向主应用程序发送通知来“交流” 。但显然,如果主应用程序只运行,它就可以工作。

是否有任何机制可以打开终止的应用程序并传递参数?

更新:

这个想法是实现简单的图像处理应用程序。我想从 Finder-Sync 扩展运行主应用程序(包含执行代码和 GUI)。

更具体地说,我实现func menu(for menu: FIMenuKind) -> NSMenu?FIFinderSyncProtocol并且我想在用户右键单击菜单项并选择我添加到菜单中的操作时运行/打开主应用程序。

4

2 回答 2

2

我猜我的评论至少在某种程度上是有效的,所以我会把它放在答案中。

扩展允许使用应用处理的 URL 启动主应用。

与 URL 的通信可能还不够,但您可以拥有应用程序组,其中扩展可以将数据写入磁盘并可由主应用程序读取,或者使用您当前的通信方式并对此方法进行一些调整。

于 2019-09-02T23:02:53.193 回答
0

您可以使用SMLoginItemSetEnabled启动后台“助手”应用程序。

https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled

此帮助应用程序可以由沙盒应用程序在后台启动,几乎没有限制,并在主应用程序关闭时保持打开状态。即使主应用程序已关闭,您的 FinderSync 扩展程序也可以继续与帮助程序应用程序通信。

于 2019-09-13T01:51:18.447 回答