Location Broken on iOS 8. Related to XCRun simctl?

I have been doing my best to investigate the following bug. I hope someone with knowledge of how simulators are booted up can provided insight.

Running with Xcode 6, when my tests use the java client’s setLocation method (which calls UIAutomation’s setLocation/setLocationWithOptions), no location is set. Instruments responds with ‘true’ (as seen in Appium log), but location is not set. If I then manually set location with the simulator’s Debug >> Location dropdown menu, the location is properly set. And in addition to that, after performing the manual process, java client’s setLocation starts to work.

To be clear:

  1. setLocation fails
  2. pause test, manually set location with iOS Simulator >> Debug >> Location
  3. try setLocation, and it works

What’s the deal?
It seems like the simulator is some unhappy state. Could this be due to the new use of simctl for the simulator and app bootstrapping process and the simulator teardown process? What sort of state do we expect the simulator to be in immediately after the simulator is launched, prior to my test beginning? Similarly, what state do we expect the simulator to be in after a previous test is run and Appium teardown methods have occurred? Is this related to the full_reset server flag? Any clues from anyone??

Any suggestion or help would be appreciated,

Hey Ben, did you ever have any luck with this? I am now trying to spoof location on the ios sim too and am finding it quite challenging…

I’m no longer on this project so hard to remember but I think it was actually a bug with iOS simulator running ios 8 not anything withAppium. So I think we just ran our location tests against iOS 7 and did manual testing with iOS 8 devices.