Sto realizzando un'app universale per iPad/iPhone che può utilizzare il connettore di uscita VGA dell'iPad per riprodurre il contenuto dell'app su uno schermo esterno. Tuttavia, l'iPhone non ha questa funzionalità. dato il seguente codice,Controllo iPhone per una costante in fase di esecuzione nell'app universale
#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
ottengo questo errore al telefono al momento del lancio (funziona bene in iPad) "dyld: Simbolo non trovato: _UIScreenDidConnectNotification"
presumibilmente perché UIScreenDidConnectNotification doesnt' esiste ancora in 3.13 . Come posso verificarlo durante il runtime?
AGGIORNATO aggiunto istruzioni ifdef per verificare l'interfaccia di ipad ma ottenere lo stesso risultato!
AGGIORNATO aggiunto dichiarazione NSLog per assicurarsi che il codice all'interno l'istruzione if non viene chiamato. L'incidente sembra verificarsi prima dell'esecuzione di qualsiasi altro codice ...
è l'applicazione in esecuzione su un vero e proprio iPad o nel simulatore iPad? L'app – ohho
è in esecuzione su un vero iPhone: quando viene eseguito in ipad sim o ipad reale, il codice funziona correttamente (come previsto). – joshue