Como determinar programaticamente se o aplicativo está sendo executado no simulador do iPhone?
Olá a todos! Sou um desenvolvedor iOS iniciante e me deparei com o seguinte problema: preciso que no simulador seja executado um código e no dispositivo real, outro. Por exemplo, quero usar a câmera apenas no iPhone real e, no simulador, apenas mostrar um placeholder. Mas como verificar isso programaticamente?
Tentei pesquisar na internet, mas encontrei diferentes macros e flags de compilação. Em Objective-C, fica assim:
```objectivec
#if TARGET_IPHONE_SIMULATOR
// código para o simulador
#else
// código para o dispositivo real
#endif
```
Mas estou escrevendo em Swift e não consigo transferir diretamente essa construção. Tentei usar `#if targetEnvironment(simulator)`, mas o Xcode reclama que é uma diretiva inválida. Será que preciso importar ou incluir algo? Ou existe outra maneira?
Também ouvi dizer que é possível verificar a arquitetura do processador (x86_64 para o simulador e arm64 para o dispositivo real), mas isso parece não ser confiável — e se a Apple lançar um simulador em ARM?