我有这样的代码。
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];
[[NSUserNotificationCenter defaultUserNotificationCenter] setDelegate:self];
另外,我实现了userNotificationCenter:shouldPresentNotification:。它工作正常。然而。当应用程序窗口未聚焦时,不会调用此委托方法,并且通知始终存在。
任何帮助?
答案 0 :(得分:2)
首先,您应该在发送-deliverNotification:
消息之前设置委托。如果你不这样做,你的委托方法可能不会被触发,即使它应该被触发。
其次,在documentation for -userNotificationCenter:shouldPresentNotification:
中,它声明:
userNotificationCenter:shouldPresentNotification:
当用户通知中心决定不提供您的通知时发送给代理人。
即。当NSUserNotificationCenter
已经决定不显示您的通知时,您将仅看到此方法被调用。如果它确定应该显示它,它就不会打扰。