我编写了一个实现FinderSync扩展的应用程序。
一切都很好,我可以通过从扩展到主应用程序的DistributedNotificationCenter发送通知来“沟通”。但是很明显,如果主应用程序只运行的话,它就能工作。
是否有任何机制来打开终止的应用程序和传递参数?
更新:
其思想是实现简单的图像处理应用程序。我想从Finder扩展运行主应用程序(包含执行代码和GUI)。
具体来说,我实现了func menu(for menu: FIMenuKind) -> NSMenu? of FIFinderSyncProtocol,当用户右键单击菜单项并选择我添加到菜单中的操作时,我希望运行/打开主应用程序。
发布于 2019-09-02 23:02:53
因为我想我的评论至少有点正确,所以我会把它写在答案里。
扩展允许通过使用应用程序处理的URL启动主应用程序。
与URL的通信可能还不够,但是您可以有一个应用程序组,在这个组中,扩展可以将数据写入磁盘并由主应用程序读取,或者使用当前的通信方式对此方法进行一些调整。
发布于 2019-09-13 01:51:18
您可以使用SMLoginItemSetEnabled启动后台“助手”应用程序。
https://developer.apple.com/documentation/servicemanagement/1501557-smloginitemsetenabled
这个助手应用程序可以在后台启动沙箱应用程序,没有什么限制,并保持打开时,主应用程序关闭。您的FinderSync扩展可以继续与助手应用程序通信,即使主应用程序已经关闭。
https://stackoverflow.com/questions/57464947
复制相似问题