?
Solved

iOS backgrounding execution

Posted on 2014-01-08
6
Medium Priority
?
445 Views
Last Modified: 2014-01-09
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.
0
Comment
Question by:HackThePlanet
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
6 Comments
 
LVL 33

Accepted Solution

by:
pgnatyuk earned 2000 total points
ID: 39767328
In iOS 7 there is new feature - background fetch. Here you'll find everything:
Multitasking in iOS 7
Or here are two short tutorials:
iOS 7: Background Fetch
iOS 7 SDK: Working with Background Fetch

For an earlier version os iOS, I'd try to use the location manager - it will allow your app to work in the background. Or simply resend a message each time the network status is restored.
0
 

Author Comment

by:HackThePlanet
ID: 39767402
Since the application is in essence a chat application (XMPP chat) would that fall under a social networking application in Apple's eyes?

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?
0
 
LVL 33

Expert Comment

by:pgnatyuk
ID: 39767480
Sounds good.
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

 

Author Comment

by:HackThePlanet
ID: 39767502
Brilliant. Many thanks pgnatyuk. Found a way forward. Ciao!
0
 

Author Closing Comment

by:HackThePlanet
ID: 39767506
Fab answer. Helped distill into something that is now understandable. Cheers!
0
 
LVL 33

Expert Comment

by:pgnatyuk
ID: 39768088
You are welcome
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

What's a UDID? If you're involved in developing, testing, or even reviewing an iOS application that's in beta, then at some point you may need to know the UDID for any iOS devices that you'll be testing on. What's the UDID? It stands for Unique Dev…
There is a security feature on iOS devices that is nearly impenetrable when it has been activated.  This article will provide some possible solutions as well as necessary steps to take to ensure you do not end up with a locked device.
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.
Sometimes it takes a new vantage point, apart from our everyday security practices, to truly see our Active Directory (AD) vulnerabilities. We get used to implementing the same techniques and checking the same areas for a breach. This pattern can re…

800 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question