iphone - para - Cómo detectar la aplicación se está ejecutando en un simulador o dispositivo
ipadian (3)
La misma aplicación compilada no puede ejecutarse tanto en el simulador como en un dispositivo iOS, ya que los conjuntos de instrucciones de la CPU son completamente diferentes (x86 contra ARM). (... a menos que estés creando algún tipo de binario superuniversal muy extraño usando lipo)
Hay varias formas de determinar si la aplicación se compiló para x86 o no. Una es agregar el código de tiempo de ejecución que difiere según una de las muchas macros preprocesadoras del compilador predefinidas. Puede obtener una lista de macros del preprocesador para una compilación x86 escribiendo esto en la línea de comandos de la Terminal:
gcc -arch i386 -dM -E - </ dev / null | ordenar
Posible duplicado:
Detecta programáticamente si la aplicación se está ejecutando en un dispositivo o simulador
¿Cómo puedo detectar si mi aplicación se está ejecutando en el simulador o en el dispositivo a través del código?
Puedes usar esta constante
#if TARGET_OS_SIMULATOR
NSLog(@"This is simulator mode....");
#else
NSLog(@"This is device mode....");
#endif
Tenga en cuenta que UIDevice
ya le proporciona información sobre el dispositivo en sí.
[[UIDevice currentDevice] model]
También puedes usar lo siguiente:
TARGET_IPHONE_SIMULATOR
te dice si estás en el simulador de iPhone.
TARGET_OS_IPHONE
te dice que estás trabajando en el iPhone en lugar de MacOS.
#if TARGET_IPHONE_SIMULATOR
NSLog(@"Running in Simulator - no app store or giro");
#else
NSLog(@"Running on the Device");
#endif
y cuando SOLO esté interesado en el dispositivo
#if !(TARGET_IPHONE_SIMULATOR)
NSLog(@"Running on device");
#endif