Objective c Cocoa:在处理自定义URL方案时防止激活应用程序?

Objective c Cocoa:在处理自定义URL方案时防止激活应用程序?,objective-c,cocoa,url-scheme,Objective C,Cocoa,Url Scheme,我有一个注册自定义URL方案的Cocoa应用程序:myapp://dostuff。当URL打开时(例如从Safari),我的应用程序接收事件并处理URL 到目前为止还不错。现在的问题是,我的应用程序被激活了,它的窗口移动到前台,覆盖了点击自定义URL的Safari。我希望Safari保持活动状态,并在后台处理应用程序中的自定义URL 这可能吗 我的用例:在Safari中单击自定义URL时,我希望在Safari上方显示一个带有多个选项的弹出菜单。只有当用户从菜单中选择一个选项时,我才希望我的应用程

我有一个注册自定义URL方案的Cocoa应用程序:
myapp://dostuff
。当URL打开时(例如从Safari),我的应用程序接收事件并处理URL

到目前为止还不错。现在的问题是,我的应用程序被激活了,它的窗口移动到前台,覆盖了点击自定义URL的Safari。我希望Safari保持活动状态,并在后台处理应用程序中的自定义URL

这可能吗


我的用例:在Safari中单击自定义URL时,我希望在Safari上方显示一个带有多个选项的弹出菜单。只有当用户从菜单中选择一个选项时,我才希望我的应用程序移动到前台。

这是不可能的。自定义URI方案用于在应用程序之间移动-没有“在后台加载”选项

您有两种变通方法:

  • 使用可以直接向网站提供所需数据的后端,而不是试图通过本地应用程序将其带来
  • 按当前操作从页面打开应用程序,然后在应用程序启动后将该选项提供给用户。像这样的深度链接平台(完全公开:我在分支团队中)可以帮助实现这一点

  • 我认为那是不可能的。。。。但您可以做的是在一个网页上显示带有选项的警报,如果用户选择打开应用程序的选项,您可以将其重定向到自定义URL方案:
    myapp://dostuff 
    ,谢谢你的建议。不幸的是,这不是一个选项,因为我需要从我的应用程序(即菜单项)中获取数据,然后才能显示菜单。也许为你的应用程序提供一个菜单是一种方法。