OS X 10.10.3和通知中心

时间:2015-04-29 14:17:14

标签: objective-c macos

我为OS X开发了一个应该发送本地通知的应用程序。我为OS X 10.9部署了这个应用程序。该应用程序运行良好,直到Apple更新OS X 10.10.3。我为标准(非管理员)用户安装了应用程序,当我进入系统偏好设置时 - >通知我无法看到该应用有权发送通知。 这是我在OS X上发送本地通知的代码:

NSUserNotification *notification = [[NSUserNotification alloc]init];
notification.title = title;
notification.informativeText = text;
notification.soundName = NSUserNotificationDefaultSoundName;

notification.userInfo = @{@"url": [NSString stringWithFormat:@"http://myurl.com/%@",detailParams]};                    
NSUserNotificationCenter *center = [NSUserNotificationCenter defaultUserNotificationCenter];
[center setDelegate:self];
[center scheduleNotification:notification];

安装OS X 10.10.3后Apple改变了什么?如果是,我的代码有什么问题?

1 个答案:

答案 0 :(得分:2)

一些事情(which I found at a tutorial here):

1)

而不是scheduleNotification,请尝试使用:

[center deliverNotification:notification];

2)

如果应用程序不在最前面,则通知中心仅显示通知要始终显示通知,您需要在NSUserNotificationCenter上设置委托,如上所示,并按如下方式实施NSUserNotificationCenterDelegate:

- (BOOL)userNotificationCenter:(NSUserNotificationCenter *)center shouldPresentNotification:(NSUserNotification *)notification
{
    return YES;
}