我为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改变了什么?如果是,我的代码有什么问题?
答案 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;
}