На 10.7.2 у меня проблемы с получением стандартных NSDistributedNotifications для работы из коробки.
Даже при возврате в (Полная версия XCode на https://github.com/dirkx/Example-NSDistribtuedNotification-Failing) к чему-то так простому, как показано ниже:
- Великолепно работающие уведомления «локально» (как в NSNotificationCenter), но
- Нет связи между приложениями, когда я запускаю приложение дважды (например, из командной строки)
- Нет уведомлений, когда другие приложения регистрируются для этого (или для nill)
- Нет и отладки / информации в журналах дистрибутированных демонов.
Чего мне не хватает?
NSString * kSayNotification = @"org.webweaving.sayExample";
// Send a Distributed Notification on button press.
//
-(IBAction)buttonChange:(NSButton *)sender {
NSString * str = (sender.state == NSOnState) ? @"Yes" : @"No";
[[NSDistributedNotificationCenter defaultCenter]
postNotificationName:kSayNotification
object:str
];
}
// Update a label on receiving a Notification.
//
-(void)notif:(NSNotification *)nf {
.. snipped time string ...
// Textfield with the time of arrival and the value passed in the notification.
//
textField.stringValue = [NSString stringWithFormat:@"%@: %@",
dStr, (NSString *)nf.object
];
}
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
// Register for the notifications.
//
[[NSDistributedNotificationCenter defaultCenter]
addObserver:self
selector:@selector(notif:)
name:kSayNotification
object:nil];
}
В качестве наблюдателя уведомлений (https://github.com/melo/notification-watcher) не показывает уведомления - но уведомления обрабатываются в приложении.