por error configurar compartir como apple activar iphone ios simulator detect

error - nfc iphone 7 como activar



Detecta mediante programación si la aplicación se está ejecutando en un dispositivo o simulador (7)

Me gustaría saber si mi aplicación se está ejecutando en un dispositivo o simulador en tiempo de ejecución. ¿Hay alguna forma de detectar esto?

La razón de ser para probar bluetooth api con simulador: http://volcore.limbicsoft.com/2009/09/iphone-os-31-gamekit-pt-1-woooohooo.html


De XCode 9.3+, Swift

#if targetEnvironment(simulator) //Simulator #else //Real device #endif

Le ayuda a codificar contra el tipo de dispositivo específico.


Compruebe si el simulador

#if TARGET_IPHONE_SIMULATOR // Simulator #endif

Verifica si el dispositivo

#if !(TARGET_IPHONE_SIMULATOR) // Device #endif

Verifique ambos

#if TARGET_IPHONE_SIMULATOR // Simulator #else // Device #endif

Tenga en cuenta que no debe TARGET_IPHONE_SIMULATOR en TARGET_IPHONE_SIMULATOR porque siempre se definirá a 1 o 0 .


Creé una macro en la que puede especificar qué acciones desea realizar dentro de paréntesis y estas acciones solo se realizarán si el dispositivo se está simulando.

#define SIM(x) if ([[[UIDevice currentDevice].model lowercaseString] rangeOfString:@"simulator"].location != NSNotFound){x;}

Esto se usa así:

SIM(NSLog(@"This will only be logged if the device is simulated"));


Puede utilizar la macro del preprocesador TARGET_IPHONE_SIMULATOR para distinguir entre los dispositivos y los objetivos del simulador.


Use este código a continuación:

#if targetEnvironment(simulator) // iOS Simulator #else // Device #endif

Funciona para Swift 4 y Xcode 9.4.1


TARGET_IPHONE_SIMULATOR se define en el dispositivo (pero se define como falso). y definido como abajo

#if TARGET_IPHONE_SIMULATOR NSString * const DeviceMode = @"Simulator"; #else NSString * const DeviceMode = @"Device"; #endif

Solo usa DeviceMode para saber entre dispositivo y simulador