¿Cómo crear una aplicación que se ejecute en Mac OS 10.6 y admita el NSUserNotificationCenter?
Investigué mucho pero no pude encontrar lo que buscaba: actualmente, ambosDeployment Target
yBase SDK
de mi aplicación está configurado para10.8
, y funciona perfectamente. ¡Puedo publicar correctamente las Notificaciones en el nuevo Centro de Notificación de Mountain Lions!
Para construir una aplicación que también se ejecuta en Mac OS10.6
, He establecido el Destino de implementación en 10.6 y lo he construido (como se recomienda en este hilo). Desafortunadamente, la aplicación se bloquea en 10.6 y el informe de fallas detalla que no se pudo encontrar el NSUserNotificationCenter (no se maneja la versión del sistema operativo).
-
Entonces, lo que seguramente tengo que hacer es verificar si existe la clase NSUserNotificationCenter:
notificationCenterIsAvailable = (NSClassFromString(@"NSUserNotificationCenter")!=nil);
y operar en base a esta bandera booleana.
Pero ¿qué pasa con el código que no se puede basar en esta bandera, como:
La interfaz..: <NSUserNotificationCenterDelegate> {
o el tipo de referencia al Centro de Notificación:NSUserNotificationCenter *center
en las propiedades de la clase?Mi primer pensamiento fue alterar dinámicamente el encabezado de la clase en el tiempo de ejecución, es decir, agregar los métodos y las propiedades para manejar el Centro de notificaciones en función de si la clase existe o no, ¿pero esto parece realmente complejo?