6

私は OSX 開発が初めてで、何かが起こったときに通知を発するアプリを作成しています。ただし、デフォルトの動作であるため、アプリがキー アプリの場合は通知が表示されません。アプリがキーアプリであっても表示したい。ただし、この問題の解決策はobjective-cで書かれたものしか見つかりませんでしたが、現在はSwiftで作業しています。どうすればSwiftで実装できるのだろうと思っていました。

4

1 に答える 1

15

NSUserNotificationCenter通知が常に表示されるようにするには、デリゲートを設定して実装する必要がありますuserNotificationCenter(center:shouldPresentNotification:) -> Boolドキュメントによると、このメッセージは

ユーザー通知センターがあなたの通知を表示しないことを決定したときにデリゲートに送信されます。

デリゲートは、選択した任意のクラスに実装できます。次に例を示します。

class AppDelegate: NSObject, NSApplicationDelegate, NSUserNotificationCenterDelegate {

    func applicationDidFinishLaunching(aNotification: NSNotification) {
        NSUserNotificationCenter.defaultUserNotificationCenter().delegate = self
    }

    func userNotificationCenter(center: NSUserNotificationCenter, shouldPresentNotification notification: NSUserNotification) -> Bool {
        return true
    }
于 2015-02-24T22:24:21.177 に答える