Cocoa:在处理自定义URL方案时阻止激活app?

时间:2017-05-23 15:06:07

标签: objective-c cocoa url-scheme

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

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

这可能吗?

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

1 个答案:

答案 0 :(得分:0)

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

您有两种解决方法:

  1. 使用可以直接向网站提供所需数据的后端,而不是尝试将其通过本地应用程序。
  2. 按照您当前的操作从页面打开应用,然后在启动应用后向用户提供选项。像Branch.io这样的深层链接平台(完全披露:我在分支机构团队中)可以为此提供帮助。