gpt4 book ai didi

swift - 监控 OS X 上的应用程序切换

转载 作者:行者123 更新时间:2023-11-30 12:23:41 25 4
gpt4 key购买 nike

我想知道,在 Swift 应用程序中,用户何时从一个应用程序更改为另一个应用程序(一般而言)。

例如:从 Google Chrome 切换到 Xcode 等其他应用会触发此事件。

是否有任何方法可以获取应用程序切换事件,例如通过事件监视器?

最佳答案

您可以在 NSWorkspace.sharedWorkspace().notificationCenter 上添加一个观察者,监视 NSWorkspaceDidActivateApplicationNotification 键。您将选择器指向其中一个方法并从 userInfo 字典中获取信息。

AppDelegate 中的简单示例:

swift 2.2

func applicationDidFinishLaunching(notification: NSNotification) {
NSWorkspace.sharedWorkspace().notificationCenter.addObserver(self,
selector: #selector(activated),
name: NSWorkspaceDidActivateApplicationNotification,
object: nil)
}

func activated(notification: NSNotification) {
if let info = notification.userInfo,
app = info[NSWorkspaceApplicationKey],
name = app.localizedName {
print(name)
}
}

swift 3

func applicationDidFinishLaunching(_ aNotification: Notification) {
NSWorkspace.shared().notificationCenter.addObserver(self,
selector: #selector(activated(_:)),
name: NSNotification.Name.NSWorkspaceDidActivateApplication,
object: nil)
}

func activated(_ notification: NSNotification) {
if let info = notification.userInfo,
let app = info[NSWorkspaceApplicationKey] as? NSRunningApplication,
let name = app.localizedName
{
print(name)
}
}

关于swift - 监控 OS X 上的应用程序切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44485206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com