Simular la location del iPhone (dispositivo real, NO simulador) a través de USB mediante progtwigción

Puedo simular la location a través de Xcode preparando un file GPX con algunas coorderadas, agregarlo a mi proyecto, ejecutar una aplicación y seleccionar la location cuando la aplicación se está ejecutando. Entonces, la location de todo mi iPhone se cambia a esa location (no solo para esa aplicación).

En otras palabras, es posible controlar la location del iPhone a través de una Mac cuando se conecta a través de USB usando Xcode.

Me pregunto ¿hay alguna manera de automatizar este comportamiento? Por ejemplo, enviaré el command mediante progtwigción a mi iPhone para cambiar su location sin crear manualmente un file GPX, agregarlo a un proyecto, ejecutar una aplicación ficticia y seleccionar un único GPX de la interfaz de usuario cada vez. ¿Hay alguna forma, tal vez usando herramientas de command-line?

Puede usar Instrumentos para simular actualizaciones de location:

Vía Automatización Permite escribir secuencias de commands con javascript, que establecerá Ubicación y demorará la próxima actualización de location.

En realidad, la location de configuration simple se verá así:

var target = UIATarget.localTarget(); var location = { latitude: 59.335435, longitude: 18.017269 }; var locationOptions = { speed: 2.78, altitude: 200, horizontalAccuracy: 10, verticalAccuracy: 15 }; target.setLocationWithOptions(location, locationOptions); 

Para poder ejecutar este script, debe "Perfil" su aplicación desde Xcode. Para esto, vaya a Menú Producto → Perfil y su aplicación comenzará junto con Instrumentos. En Instrumentos, select "Automatización" y luego cree un nuevo script con el cuerpo como se indicó anteriormente.

Su aplicación debe seleccionarse automáticamente como destino en la parte superior izquierda de la herramienta de automation.

Simplemente pegue un script en el área de Script y presione el button Ejecutar. Si la aplicación no se inició, se iniciará. Entonces se ejecutará el script y debería ver que la location se estableció dentro de su aplicación.

Puede crear una matriz de varias opciones de ubicaciones y ubicaciones y luego pasar a través de ellas. Para retrasar un poco, simplemente puede usar el command delay.

 var target = UIATarget.localTarget(); var locationOptions = {speed:2.78, altitude: 200, horizontalAccuracy:10, verticalAccuracy:15}; var locations = [ {latitude: 59.335435, longitude: 18.017269}, {latitude: 59.33618, longitude: 18.018288}, {latitude: 59.337192, longitude: 18.01643}, ... {latitude: 59.335769, longitude: 18.025336} ]; for (var i = 0; i < locations.length; i++) { target.setLocationWithOptions(locations[i], locationOptions); target.delay(10); } 

Ref: http://sergiinezdolii.blogspot.com/2015/02/ios-simulate-frequent-gps-location.html

Puede configurar una ruta pnetworkingefinida utilizando el siguiente sitio; GPX generador . Esto crea un file GPX con una ruta a una velocidad de marcha / marcha rápida. Un método más automatizado parece imposible según mi propia investigación.