我有一个 Mac OS X 应用程序,它也是一个协议处理程序(例如,Safari 是 HTTP 和 HTTPS 协议的协议处理程序)。因此,当用户在任何应用程序中单击 myscheme://some-kind-of-info 形式的链接时,我的应用程序将启动以处理该链接。
现在我需要能够确定应用程序是通过这种链接单击启动的,还是通过任何其他方法启动的。换句话说,它是通过链接点击以外的任何方式启动的。(在这些情况下,我希望应用程序保持打开状态,但如果它是通过链接启动的,它应该退出并忽略该链接。这样它只在已经运行时才运行。)
启动时应用程序中是否有某种方法可以自省并发现它是通过标准方法而不是 AppleScript GetURL 事件启动的?我想通过记录的方法找出答案,而不是 - 例如 - 让我的应用程序仅在运行半秒后打开这些链接。