¿Cómo prevenir o detectar "Simulación de location" por Xcode en su aplicación en producción?

Supongo que esto es un gran defecto en iOS … como actualmente está sucediendo para PokemonGo, actualmente los usuarios normales pueden suplantar la location del dispositivo a uno deseado en dispositivos que no estén en jailbreak … ¿Alguna idea o solución para detectar la simulación de location por parte de Xcode?

¿Qué hay de usar otros sets de datos para detectar spoofing GPS? Google lo incluye desde 2007. Como desarrollador de aplicaciones, puede usar la inercia interna del teléfono o los datos del rastreador de orientación para verificar la plausibilidad de su location GPS. La brújula integrada también puede resultar útil. El uso de los sensores internos del teléfono no detectará todos los casos, por ejemplo, si también se falsifican de manera consistente con la señal de GPS, pero aumenta el esfuerzo que se necesita invertir para engañar a una aplicación con éxito. Las fonts externas, como las ubicaciones wifi-hotspot, serían incluso mejores, pero creo que esto es un gran esfuerzo para el desarrollador de la aplicación, dado que la aplicación debe get y verificar regularmente dichos datos.

Una extensión de la respuesta de Kento:

Si, al usar la información del acelerómetro, el teléfono parece no moverse, solicite al usuario que agite el dispositivo. Puede mantener un logging de cómo fue sacudido, y comprobar si el batido anterior era demasiado similar. Tendrías que probar y equivocar cuál sería el umbral, pero me imagino que sería difícil simular varias maniobras diferentes.

Usar spoofing de location GPX devuelve -1 por heading y speed . Si está buscando forms de detectar spoofing, si CLLocationManager proporciona Lat,Lng s que se están moviendo, pero no está recibiendo velocidad o rumbo, entonces la probabilidad es la location está siendo falsificada