Вы можете зарегистрироваться только для уведомлений о значках (NSRemoteNotificationTypeBadge), но вы можете отправить тот же тип полезной нагрузки, что и в iOS, и приложение Mac получит его. До сих пор мне удавалось только запускать фоновые приложения и получать уведомления, но в документах написано:
Mac OS X Примечание. Поскольку поддерживается только один тип уведомлений для
не запущенные приложения - значок-значок
Так что кажется, что не работающие приложения должны иметь возможность получать уведомления, но я еще не понял этого.
Вот мое приложение, получающее уведомление в фоновом режиме:
2012-02-13 18:00:39.531 TestPush[25580:707] Received Push Alert: TESTING
2012-02-13 18:00:39.532 TestPush[25580:707] Received Push Badge: 10
2012-02-13 18:00:44.153 TestPush[25580:707] applicationDidResignActive
2012-02-13 18:00:57.233 TestPush[25580:707] remote notification: {
"_" = "n7dBZFYpEeGiNBT+tdMfCA";
aps = {
alert = TESTING;
badge = 10;
};
}
Вот пользовательская полезная нагрузка (пары ключ / значение, которые вы упомянули):
2012-02-13 18:23:44.665 TestPush[25958:707] remote notification: {
"_" = "zsUPTFYsEeGiNBT+tdMfCA";
acme1 = bar;
acme2 = 42;
aps = {
alert = "You got your emails.";
badge = 9;
sound = "bingbong.aiff";
};
}
2012-02-13 18:23:44.666 TestPush[25958:707] Received Push Alert: You got your emails.
2012-02-13 18:23:44.666 TestPush[25958:707] Received Push Sound: bingbong.aiff
2012-02-13 18:23:44.667 TestPush[25958:707] Received Push Badge: 9
2012-02-13 18:23:44.667 TestPush[25958:707] Received cust1: bar
2012-02-13 18:23:44.668 TestPush[25958:707] Received cust2: 42
Не уверен насчет пользовательского интерфейса, я бы не подумал, что вам нужен пользовательский интерфейс.
Также посмотрите этот пример кода от Apple PushyMac .