Where do I start... I have been trying to tackle this issue for quite some time now and every time I think I have the answer something else comes along to crash the party.
I am in the process of building a multi-screen AIR mobile application with the AIR 3.0 SDK that records geolocation updates as they are sent from the device.
Everything works fine on Android but when I test on iOS here are my findings...
Geolocation updates work fine while the app is active.
In order for you app to be eligible for background services you need to set the UIBackgroundModes in your app-xml file for the service you would like to enable... in my case 'location' (which I did)
I found that doing this alone will not allow you to receive the location updates when the app is in the background. As soon as the app is "minimized", it goes into a suspended state and no code is being executed until the app beomes active again ...therefore none of the location updates are received.
I found that setting the 'audio' AND 'location' values together somehow allows me to run code while the app is in the background, just not while the screen is turned off. The moment you press the power button to turn the screen off, the app goes into a suspended state again.
To test if code can be run, I have set up an event listener that gets triggered when the app is deactivated and activated. I am setting a timer the moment the app gets deactivated and incrementing a variable every 100 milliseconds while the app is inactive. When the app becomes active again I report the number back in a debug textfield. If I dectivate the app by pressing the home button or open even open another app, the number that gets reported back when I go back to my app is accurate... but as soon as I press the power button to shut the screen off, the number stops incrementing shortly after.
I have seen plenty of native iOS geolocation-based apps get location updates while the screen is off, why is this not the case for an AIR iOS app? Is there a workaround for this? Does someone at Adobe need to fix this issue? At this point, I'm not even sure Native Extensions would do the trick... Am I doing something wrong?
ANY help would be greatly appreciated.
The issue you are facing on iOS is because of the known bug where there are no events fired when the screen is off(including the time events). This bug will be fixed in future releases. I will take care of posting on this thread when the release with this fix is out.
Thanks for posting.
Can you give a more specific timetable than "in future releases"? Are we
talking days, weeks, months, years? It's great to know that this will be
fixed, but we would like to know when to expect a fix.
I am developing a music app and I must do transitions between songs, even if the device's screen is off.
I really need this adobe Air improvement. Have more informations today ? Could you tell me when it will be released ?