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