This question already has an answer here:
My application is suspended by iOS after some time -- from one hour to several days -- but I want it to work in the background as long as possible (maybe infinitely) while the device is running. SMS will notify the user all the time that the device is running -- iOS doesn't kill the SMS service. My app has similar functionality and should notify user about the new income messages and so on.
So can I do the same with my application? Maybe there is some hack?
No.
There are the following exceptions:
Also, all apps can get up to ten minutes to finish existing tasks.
There should be an answer if you're prepared to jailbreak, but otherwise, it's not possible with current versions of iOS.
The way around this is to do the processing on a server and send push notifications when something interesting happens.
You don't want your application running indefinitely.
You should use push notifications. This will notify your user the same way the SMS application does.