🍁
Swift: 任意のアプリが終了したことを検知する
macOSアプリで、任意の外部アプリが終了したことを検知したかった。
var cancelabbles = Set<AnyCancellable>()
NSWorkspace.shared.notificationCenter
.publisher(for: NSWorkspace.didTerminateApplicationNotification)
.sink { notification in
if let _app = notification.userInfo?[NSWorkspace.applicationUserInfoKey],
let app = _app as? NSRunningApplication,
app.bundleIdentifier == "任意のアプリのBundle Identifier" {
// 任意のアプリが終了した際の処理
}
}
.store(in: &cancellables)
Discussion