I am writing a python script which uses appium.
python (2.7.10), Appium-Python-Client (0.22), appium (1.5.1)
I am running on a Mac (El Capitan) and building with Xcode 7.3.
The device I am trying to run on is an iphone 6 running iOS 9.3.
Here is the command that I am using to set the location.
self.driver.set_location(30.257364, -97.806956, 0.0)
Here is what appears in the logs
[HTTP] --> POST /wd/hub/session/0b4d76bf-aaa8-444c-9808-83b8a75e85d7/location {"sessionId":"0b4d76bf-aaa8-444c-9808-83b8a75e85d7","location":{"latitude":"30.257364","altitude":"0.0","longitude":"-97.806956"}}
[MJSONWP] Calling AppiumDriver.setGeoLocation() with args: [{"latitude":"30.257364","altitude":"0.0","longitude":"-97.806956"},"0b4d76bf-aaa8-444c-9808-83b8a75e85d7"]
[debug] [iOS] Executing iOS command 'setGeoLocation'
[debug] [UIAuto] Sending command to instruments: target.setLocation({"latitude":"30.257364","altitude":"0.0","longitude":"-97.806956"})
[debug] [Instruments] [INST] 2016-04-14 19:38:41 +0000 Debug: Got new command 28 from instruments: target.setLocation({"latitude":"30.257364","altitude":"0.0","longitude":"-97.806956"})
[debug] [Instruments] [INST] 2016-04-14 19:38:41 +0000 Debug: evaluating target.setLocation({"latitude":"30.257364","altitude":"0.0","longitude":"-97.806956"})
[debug] [Instruments] [INST] 2016-04-14 19:38:41 +0000 Debug: target.setLocationWithOptions({altitude:"0.0", longitude:"-97.806956", latitude:"30.257364"}, )
[debug] [Instruments] [INST] 2016-04-14 19:38:41 +0000 Debug: evaluation finished
[debug] [Instruments] [INST] 2016-04-14 19:38:41 +0000 Debug: responding with:
[debug] [Instruments] [INST] 2016-04-14 19:38:41 +0000 Debug: Running system command #29: /usr/local/Cellar/node/0.12.0/bin/node /usr/local/lib/node_modules/appium/node_modules/appium-ios-driver/node_modules/appium-uiauto/build/lib/bin/command-proxy-client.js /var/folders/zf/42jkx4p56f95c6ns5gbqd5_98r09sn/T/instruments_sock 2,{"status":0,"value":true}...
[debug] [UIAuto] Socket data received (27 bytes)
[debug] [UIAuto] Got result from instruments: {"status":0,"value":true}
[MJSONWP] Responding to client with driver.setGeoLocation() result: null
[HTTP] <-- POST /wd/hub/session/0b4d76bf-aaa8-444c-9808-83b8a75e85d7/location 200 1040 ms - 76
We have a map in the app. As the test is running, the location does not update.
I can run the same test on an iphone 6, iOS 9.3 simulator and setting the location works.
Is there something else I should do?