我有macOS应用程序注册自定义方案URL(在Info.plist中),我有一个代码
NSAppleEventManager.shared().setEventHandler(self, andSelector: #selector(self.handleGetURL(event:reply:)), forEventClass: UInt32(kInternetEventClass), andEventID: UInt32(kAEGetURL) )
当我的应用程序启动并且有人点击URL(包含此自定义方案)时,一切正常。
但是,在这种情况下,如果我的应用程序未启动,则系统启动(这很好)。不幸的是,没有调用handleGetURL()。
它有两个问题: - 我如何了解应用程序是以常规方式启动还是由系统触发来处理URL? - 如何获取我需要处理的URL(如果应用程序未运行)
答案 0 :(得分:1)
显然,在applicationDidFinishLaunching上注册为时已晚。我在applicationWillFinishLaunching上注册,一切都像魅力一样。