I have a requirment for an application to be capable of having information pushed to it from a server while it is in the background (this information will get displayed to the user, but it should be downloaded first before the user knows it is available therefore Apple Push notifications cannot be used – because with this mechanism a) the user would get the notification from the push server b) they will accept and launch the app c) the app will do a http fetch from a server. Thus there could and probably would be a delay while the client fetches the data, however it is a requirment that as soon as the user is informed there is new data it is instantly available).
A possible way this could be achieved is if the client periodically polls the server to see if there is anything for it (yes I know that’s not ideal, polling never is, but is there an alternative?).
However polling could not be implemented unless the client has the ability to execute in the background. And the only way the application can execute in the background is if its a voip/music/location/newstand application.
The application would make use of location awareness sometimes, however location is not is primary focus (the application would be a means of information being pushed/displayed to the user, some of the information, but not all, may be dependant upon location i.e. moving to some area might trigger some information to be displayed).
If this application was submitted to the app store with a UIBackgroundMode of location, would it be accepted? Does an application’s main functional focus have to be location based in order to execute in the background with this mode, or is it acceptable for location to be secondary side functionality?)
I don’t have an account to access it, but the App Store Review Guidelines should give you a hint. Keep in mind that they are guidelines, i.e., Apple can for any reason deny your app. No one here can definitively say if they’ll take it or not.