2015-01-01 2 views
0

Мне нужен список всех распространенных уведомлений, публикуемых iTunes и Spotify. Кажется, я не могу найти что-то в SO или Google, поэтому я хотел посмотреть, могу ли я просто подписаться на все уведомления и просто отметить, какие из них запускаются. Я успешно подписался на один, но я не могу подписаться на все из них.Подписывать (или список) все распространенные уведомления приложений

// Works just fine 
NSDistributedNotificationCenter *center = [NSDistributedNotificationCenter defaultCenter]; 
[center addObserver:self selector:@selector(itunesNotification) 
       name:@"com.apple.iTunes.playerInfo" object:nil]; 
[center addObserver:self selector:@selector(spotifyNotification) 
       name:@"com.spotify.client.PlaybackStateChanged" object:nil]; 

// Doesn't work :(
[center addObserver:self selector:@selector(itunesNotification) 
       name:@"com.apple.iTunes" object:nil]; 
[center addObserver:self selector:@selector(itunesNotification) 
       name:@"com.apple.iTunes.*" object:nil]; 
// Same result with com.spotify.client and .* 

Опять же, если я мог бы иметь список всех notifcations ITunes/Spotify, который будет работать. Мое намерение состоит не в том, чтобы подписаться на все уведомления в конце, а на то, чтобы увидеть, что там есть и выбрать несколько. Надеюсь, что это имеет смысл, благодаря кучу!

ответ

2

Я понял! Вы можете наблюдать за всеми распространенными уведомлениями на вашем Mac, указав в качестве имени nil.

NSDistributedNotificationCenter *center = [NSDistributedNotificationCenter defaultCenter]; 
[center addObserver:self selector:@selector(allNotifications:) name:nil object:nil]; 
+1

Будьте осторожны, это не даст вам «все уведомления о приложениях», но ** все ** уведомления в системе «NSDistributedNotificationCenter». Вы получите (в зависимости от того, сколько приложений запущено и использует его) ** огромное количество ** уведомлений. Возможно, вам придется отфильтровать их в '-allNotifications', используя' userInfo' dict уведомления в операторе 'if' –

+0

Это правда. Благодаря! @Julian – vqdave

Смежные вопросы