Estoy haciendo una aplicación universal para iPad/iPhone que puede usar el conector de salida VGA del iPad para reflejar el contenido de la aplicación en una pantalla externa. Sin embargo, el iPhone no tiene esta funcionalidad. dado el siguiente código,verificación de iPhone para una constante en tiempo de ejecución en la aplicación universal
#ifdef UI_USER_INTERFACE_IDIOM
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
NSLog(@"this code should not execute on iphone");
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(screenInfoNotificationReceieved:)
name:UIScreenDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(screenInfoNotificationReceieved:)
name:UIScreenDidDisconnectNotification
object:nil];
}
#endif
me sale este error en el teléfono en el lanzamiento (funciona bien en IPAD) "dyld: Símbolo no encontrado: _UIScreenDidConnectNotification"
presumiblemente porque existe todavía UIScreenDidConnectNotification duerma' en 3.13 . ¿Cómo verifico esto en tiempo de ejecución?
¡ACTUALIZADO añadido declaraciones ifdef para verificar la interfaz del ipad pero obteniendo el mismo resultado!
ACTUALIZADO añadido declaración NSLog para asegurarse de que no se está llamando al código dentro de la instrucción if. El accidente parece ocurrir antes de ejecutar cualquier otro código ...
está ejecutando la aplicación en un verdadero iPad o en el simulador de iPad? – ohho
aplicación se está ejecutando en un iPhone real- cuando se ejecuta en ipad sim o ipad real el código funciona bien (como se esperaba). – joshue