Подтвердить что ты не робот

Swift & NSUserNotification - нет баннера или предупреждения, но тихо добавляется в список уведомлений

Я изучаю Swift и хотел показать простое пользовательское уведомление в качестве теста.
Моя сборка выполнена успешно, но баннер не отображается, вместо этого уведомление автоматически добавляется в список уведомлений. Я проверил "Не беспокоить", я пробовал то же самое в AppleScript, успешно и один раз, когда возился с NSUserNotificationAlertStyle и кодом в info.plist моего приложения, я получил успешное, не-тихий сигнал ( не баннер).
Однако это произошло только один раз.

Я создал новый проект с файлами Swift и без раскадровки. Мой AppDelegate.swift содержит

import Cocoa

class AppDelegate: NSObject, NSApplicationDelegate {

    @IBOutlet weak var window: NSWindow!


    func applicationDidFinishLaunching(aNotification: NSNotification?) {
        var notification:NSUserNotification = NSUserNotification()
        notification.title = "Title"
        notification.subtitle = "Subtitle"
        notification.informativeText = "Informative text"

        notification.soundName = NSUserNotificationDefaultSoundName

        notification.deliveryDate = NSDate(timeIntervalSinceNow: 5)
        var notificationcenter:NSUserNotificationCenter = NSUserNotificationCenter.defaultUserNotificationCenter()
        if let notificationCenter = NSUserNotificationCenter.defaultUserNotificationCenter() {
            notificationcenter.scheduleNotification(notification)
        }
    }

    func applicationWillTerminate(aNotification: NSNotification?) {
        // Insert code here to tear down your application
    }


}

И мой info.plist не содержит NSUserNotificationAlertStyle, упомянутого ранее, поскольку это не обязательно для баннеров, я полагаю.

Наконец, да, приложение "test" (для того, что я назвал это), настроено на отображение баннеров, как таковых. screenshot of Notifications System Panel
Обобщены: мое приложение успешно делает уведомления, и они будут добавлены в список уведомлений, но не отображаются в виде баннера. (Я использую OS X Yosemite 10.10. Надеюсь, эта проблема не имеет отношения к бета-версии)

4b9b3361

Ответ 1

Некоторые уведомления не отображаются, если приложение является приоритетным/активным приложением во время доставки уведомления. Для получения дополнительной информации см. NSUserNotification presented свойство.

Например, когда вы находитесь в iTunes и начинает воспроизводиться новая песня, вы уже видите, какая песня играет, и нет необходимости показывать баннер.

Обратите внимание, что вы все равно можете получать уведомления о доставке уведомления (и проверять presented) на , предоставляя делегату NSUserNotificationCenter, включая отмену поведения презентации путем реализации userNotificationCenter:shouldPresentNotification:.