gpt4 book ai didi

Cocoa:用户通知从未发送

转载 作者:行者123 更新时间:2023-12-03 16:28:41 26 4
gpt4 key购买 nike

我正在尝试发送本地通知,它看起来像这样:

NSUserNotification *notification = [[NSUserNotification alloc] init];
//set title, subtitle, and sound
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:notification];

但是通知没有出现。我知道有时如果应用程序位于最前面,则不会显示通知,但在交付时却不会。在系统偏好设置中,我确保允许来 self 的应用程序的通知,我什至覆盖了 userNotificationCenter:shouldPresentNotification: 方法以始终返回 YES,但它仍然不显示通知。

最令人困惑的是,在我更新到 Mavericks 之前,一切都工作正常。我想更新中发生了一些变化,但我不知道是什么。

感谢您的帮助。

最佳答案

我的猜测是有些东西nil。确保您分配的是(有效且非零)titleinformativeText

我认为其他属性(例如 otherButtonTitle)的值无效可能也会阻止显示通知。

您的控制台中是否有任何错误消息?

使用调试器或NSLog()语句来评估分配给通知的值。如果 NSUserNotification 指针为零(您发布的代码不是这种情况,但值得一提),您也可能会看到此问题。

以下是针对在 Mac OS X 10.9 (Mavericks) 上运行的应用程序委托(delegate)的最小测试:

- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
NSUserNotificationCenter* unc = [NSUserNotificationCenter defaultUserNotificationCenter];
unc.delegate = self;

NSUserNotification* notice = [[NSUserNotification alloc] init];
notice.title = @"title"; // notifications need a title, or informativeText at minimum to appear on screen
//notice.informativeText = @"informativeText";

NSLog(@"notification: %@, notification center:%@", notice, unc);
[unc deliverNotification:notice];
}

// The notifications will always dispaly even if we are in the foreground
- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification
{
return YES;
}

关于Cocoa:用户通知从未发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20050375/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com