2017-06-02 23 views
0

我有MacOS的应用程序,它注册了自定义方案URL(在Info.plist中),我有一个代码如何确定的MacOS应用程序是否启动,因为它需要处理URL

NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(self.handleGetURL(event:reply:)), forEventClass: UInt32(kInternetEventClass), andEventID: UInt32(kAEGetURL))

的所有作品,很好,当我的应用程序启动时,有人点击一个URL(包含这个自定义方案)。

但是,在这种情况下,如果我的应用程序没有启动,那么系统启动是(这是很好的)。不幸的是,handleGetURL()没有被调用。

有两个问题: - 如何了解应用程序是以常用方式启动还是由系统触发以处理url? - 如何获得我需要处理的URL(如果应用程序未运行)

回答

1

显然,在applicationDidFinishLaunching上注册太晚了。我在applicationWillFinishLaunching上注册,一切都充当魅力。

相关问题