The watchposition
callbacks are not firing in IOS6 after first couple. On start it fires once or twice and that's it. Once failed, further calls of the watchposition
or getposition
do not fire success or failure callbacks.
The work around I am finding is to open the maps app that was introduced in IOS 6 and tap the location arrow to find yourself. after trying this the callbacks fire as expected every second or so.
UPDATE: if you run maps in navigation it works great
Also, it appears to stay running well as long as you are outside where the GPS receiver is being used.
I submitted as bug to apple; others please do as well!!
Anyone know of a way to code a workaround?
All I can gather is maps is performing an initialize routine to open the API...
I have tried to watchdog the watch callbacks and manually fire getpostion
hoping it would restart the watchpostion
without success...
UPDATE 10/16/12: appears the watch position fails after ipad locks/sleeps. when awakened the watchposition() does not fire. noticed if safari is minimized and recalled it starts firing.
UPDATE 11/17/12: video of bug and work around http://youtu.be/ygprgHh6LxA - Running IOS6.1 Beta2
UPDATE 12/20/12: IOS6.1 Beta 4 tested - still not resolved.
UPDATE 3/11/13: Replicate example
Okay, it is a simple issue to replicate in just a few seconds. I feel it is not a safari, but an IOS issue. It’s almost as if Google wrote the bios for the IOS to meet the WC3 html geo location spec and took it with them when IOS6 kicked them off the bus. Using an IOS device go here:
http://uc.myaesc.com/geoloctestorig.htm
Click start, watch should return result almost every second. Then click the Google link to leave this page. Then user browser back button to return Click start. Watch will return 1 to 3 records and hang. Minimize safari (home button) and then restore (safari icon); stops hanging
That's it. until it does not hang, the issue remains.
Mark