Hi guys,
I am developing an iOS app for iPad/iPhone for sending XMPP messages. If the user enters an area with no network coverage I want to retry sending the message when I get network connectivity. I can do this, however if the user composes a message and then hit the Home button and i'm in a the app obviously goes into the background.
I want to be a responsible app and get into the store so know I can't piggy back onto VOIP, Music background modes so how can I still send this message out while app not in the foreground.
Can iOS wake my app up even for a short time say 30 secs every xxx minutes to let me create my XMPP session and try sending the message again? Or can I create a finite task and try for as long as possible to send my message out. Once this time limit is reached thats it and I have to wait until the app is started again?
I know there are new bg modes in iOS 7 but I want to cater for iOS 6 as well ( don't ask :D ). Do I have to use one of these new bg states for creating a long running app?
There must be something that I can do. What is the correct and best solution. Hopefully not mutually exclusive :D.
Ideally it would be iOS waking me up every so often if I have messages and me trying to send them.
Help more than welcome.
ASKER
I see in the Location Manager section in developer section that it talks about "social networking".
If I have messages to send and I go into the background I suppose I could start a significant change location service. If I run past allotted time I could register for a stay of execution with a finite task.
And so on until all messages are sent. Then I would rely on Push notifications for notification of incoming messages.
Sound like a plan that would get into the app store for iOS6 and 7?