QA@IT
«質問へ戻る

質問を投稿

iOS/MacOSXの通知センターに表示される通知の一覧を取得したい。

iOS/MacOSXの通知センターで管理している通知を監視或いは、定期的に一覧を取得することで、新規の通知を検出するコードを書ければと考えています。

通知センターを利用する際には、「NSUserNotificationCenter」クラスを使う様なので、下記のようなコードを実行してみましたが、自分のアプリが発行した通知以外については、取得できない様でした。

var center = NSUserNotificationCenter.defaultUserNotificationCenter()
center.deliveredNotifications
center.scheduledNotifications

下記を実行する事で何か情報が得られるかもと考え作成・実行してみたものですが、それらしい結果は得られていません。
通知が発行されたタイミングで出力されるNSSnotificationは、nameがcom.apple.systemBeep,AppleSelectedInputSourcesChangedNotification,com.apple.Carbon.TISNotifySelectedKeyboardInputSourceChangedの三つで、いずれも通知センターに出力される通知の内容が分かるものではありませんでした。

NSDistributedNotificationCenter.defaultCenter().addObserver(self, selector: "notify:", name: nil, object: nil)
func notify(notification:NSNotification) {
    NSLog("%@", notification.name);
}

何か情報をお持ちの方がいましたら、教えていただけると幸いです。

環境について
iOS : 8. 0.1
MacOS X : 10.10.1
Xcode : 6. 1.1

iOS/MacOSXの通知センターで管理している通知を監視或いは、定期的に一覧を取得することで、新規の通知を検出するコードを書ければと考えています。

通知センターを利用する際には、「NSUserNotificationCenter」クラスを使う様なので、下記のようなコードを実行してみましたが、自分のアプリが発行した通知以外については、取得できない様でした。
```Swift
var center = NSUserNotificationCenter.defaultUserNotificationCenter()
center.deliveredNotifications
center.scheduledNotifications
```

下記を実行する事で何か情報が得られるかもと考え作成・実行してみたものですが、それらしい結果は得られていません。
通知が発行されたタイミングで出力されるNSSnotificationは、nameがcom.apple.systemBeep,AppleSelectedInputSourcesChangedNotification,com.apple.Carbon.TISNotifySelectedKeyboardInputSourceChangedの三つで、いずれも通知センターに出力される通知の内容が分かるものではありませんでした。

```Swift
NSDistributedNotificationCenter.defaultCenter().addObserver(self, selector: "notify:", name: nil, object: nil)
func notify(notification:NSNotification) {
    NSLog("%@", notification.name);
}
```
 
何か情報をお持ちの方がいましたら、教えていただけると幸いです。

環境について
iOS     :  8. 0.1
MacOS X : 10.10.1
Xcode   :  6. 1.1