我需要知道另一个正在运行的应用程序的当前显示图标,我已经尝试过这段代码:
var icon = NSRunningApplication.runningApplicationsWithBundleIdentifier("some.app.dentifier").first?.icon
但这会返回一个固定的应用图标,如果其他应用更改了其图标,则此代码在更改前仍会返回相同的图标。
有没有办法返回另一个应用或图标标识符的当前显示图标?
答案 0 :(得分:0)
首先将其添加到applicationDidFinishLaunching
let appChanged = Notification.Name("NSWorkspaceDidActivateApplicationNotification")
NSWorkspace.shared.notificationCenter.addObserver(self, selector: #selector(self.appChanged), name: appChanged, object: nil)
然后此功能将为您提供图像
@objc func appChanged(notification:NSNotification){
if let userInfo = notification.userInfo![NSWorkspace.applicationUserInfoKey] as? NSRunningApplication {
let icon = userInfo.icon
}
}