Investigué mucho pero no pude encontrar lo que estoy buscando: Actualmente, tanto Deployment Target
como Base SDK
de mi aplicación están configurados en 10.8
, y funcionan perfectamente. ¡Puedo publicar correctamente las notificaciones en el nuevo Centro de notificaciones de Mountain Lions!¿Cómo crear una aplicación que se ejecuta en Mac OS 10.6 y es compatible con NSUserNotificationCenter?
Para crear una aplicación que también se ejecute en Mac OS 10.6
, configuré el objetivo de despliegue en 10.6 y lo construí (as recommended in this thread). Desafortunadamente, la aplicación se bloquea en 10.6, y el informe de fallos detalla que NSUserNotificationCenter no se pudo encontrar (No se maneja la versión de SO).
-
Entonces, lo que sin duda tengo que hacer, es comprobar, si existe la clase NSUserNotificationCenter:
notificationCenterIsAvailable = (NSClassFromString(@"NSUserNotificationCenter")!=nil);
y operar basada en este indicador booleano.
Pero ¿qué pasa con el código que no puede basarse en esta bandera, como:
- la interfaz
..: <NSUserNotificationCenterDelegate> {
- o el tipo de la referencia al Centro de Notificación:
NSUserNotificationCenter *center
en las propiedades de clase?
Mi primer pensamiento fue para alterar dinámicamente la cabecera de la clase en tiempo de ejecución, es decir, añadir los métodos y propiedades para manejar el Centro Notificaion en función de si existe la clase o no, pero esto parece muy compleja?!
Así que incluso los métodos delegados como 'userNotificationCenter: (NSUserNotificationCenter *) center shouldPresentNotification:' y '(void) userNotificationCenter: (NSUserNotificationCenter *) center didActivateNotification:' están siendo borrados por el compilador automáticamente? – Raffael
@ Raffael No se conserva el código, sin embargo, no se usarán. – trojanfoe
¡Está funcionando, gracias! El accidente reciente debe haber tenido otra razón. – Raffael