🍁
Swift: 最後にActiveだったアプリを判別する
func checkLastActiveApp() {
let lastAppIdentifier = NSWorkspace.shared.runningApplications.first { (app) -> Bool in
return app.isActive
}?.bundleIdentifier ?? ""
}
最後にActiveだったアプリが判別できると何が良いかというと、自分のアプリが常駐型で一時的に作業を中断して利用するようなタイプのものの場合、元のアプリにフォーカスを戻したいことがあり、それができる。
例
if let app = NSRunningApplication.runningApplications(withBundleIdentifier: lastAppIdentifier).first {
app.activate(options: .activateIgnoringOtherApps)
}
Discussion