Avatar ·

Cómo determinar programáticamente si la aplicación se ejecuta en el simulador de iPhone

¡Hola a todos! Soy un desarrollador iOS principiante y me encontré con este problema: necesito que en el simulador se ejecute un código y en un dispositivo real otro. Por ejemplo, quiero usar la cámara solo en un iPhone real, y en el simulador simplemente mostrar un placeholder. Pero, ¿cómo verificarlo programáticamente? Intenté buscar en internet, pero me topé con diferentes macros y flags de compilación. En Objective-C se ve así: ```objectivec #if TARGET_IPHONE_SIMULATOR // código para el simulador #else // código para el dispositivo real #endif ``` Pero escribo en Swift y no puedo trasladar directamente esta construcción. Intenté usar `#if targetEnvironment(simulator)`, pero Xcode se queja de que es una directiva no válida. ¿Quizás necesito importar o incluir algo? ¿O hay otra forma? También escuché que se puede verificar la arquitectura del procesador (x86_64 para el simulador y arm64 para el dispositivo real), pero parece poco confiable — tal vez Apple lance un simulador en ARM.