macOS 自定义 urlscheme,不要让应用程序最前面的应用程序?

macOS custom urlscheme, do not make app frontmost app?

我有一个自定义的 url 方案运行良好,但有一个小行为我希望改变......目前入站 url 在以下代码中被捕获和处理(所以, 这里一切都好):

- (void) handleURLEvent:(NSAppleEventDescriptor*)event withReplyEvent:(NSAppleEventDescriptor*)replyEvent
{
    NSString* url = [[event paramDescriptorForKeyword:keyDirectObject] stringValue];
    //I parse and deal with the url here//
    }

是否可以避免我的应用程序成为最前面的应用程序?每当收到 url 时,我的应用程序已经打开,因为我从这个应用程序发起了通信,并且只是在听回复。但是,有时调用是通过 NSTimer 进行的,因此我的应用程序可能是也可能不是最前面的应用程序。如果我目前说通过让我的应用程序从 Safari 获取焦点来在 Safari 中浏览页面,我不想中断工作流程。我希望这是有道理的。

这可能吗?

对于任何感兴趣的人,我改为设置一个组容器。我将我的有效负载保存到组默认值,然后从我的助手应用程序发送一个 NSDistributedNotification。主应用程序获取通知,并从组默认值中读取负载数据。

这样的解决方法...但它是必要的,因为主应用程序和辅助应用程序都是沙盒化的。

我还发现组默认值上的 KVO 在沙箱中不起作用,在 NSDistributedNOtification 中发送 userDictionary 也不起作用。 :(

为了让我的应用程序在沙盒中正常运行,我不得不编写太多额外的代码。