当macOS应用程序已经打开并正在运行时,它是否可以检测到Finder图标何时打开?
在这种情况下,打开其Finder图标将使应用程序处于活动状态,我可以使用NSNotificationCenter
或应用程序委托的applicationDidBecomeActive:
方法检测到该事件。
但是,到目前为止,我还没有找到一种方法来将激活事件与应用程序可以激活的其他任何方式区分开来,例如,单击其窗口,单击其Dock图标,使用command + tab切换到它,激活它与AppleScript等。我尝试检查是否有任何一种情况使用Apple事件通过激活了该应用程序[[NSAppleEventManager sharedAppleEventManager] currentAppleEvent]
,但是由于没有当前的Apple事件,它返回nil,所以这无济于事。
-applicationShouldHandleReopen:hasVisibleWindows:
在此类重新打开事件上调用应用程序委托方法。
请注意,根据设计,从Finder,启动板或Dock(重新)打开是相同的。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句