Accès au réseau d'applications d'arrière-plan iOS

J'ai une application qui nécessite un suivi de localization et je pense qu'elle correspond parfaitement à l'un des templates de fond autorisés. Cependant, je dois postr sur un service réseau quand il y a des changements importants de localization. J'ai vu des descriptions que l'access au réseau d'état est interdit dans le traitement en arrière-plan, mais je n'ai pas lu cela dans les documents d'Apple.

Est-ce que quelqu'un sait si c'est kasher (par rapport aux politiques d'Apple) de faire des mises à jour de réseau occasionnelles et très rapides dans un process d'arrière-plan?

Bon point, selon la documentation Apple, seuls les usages suivants sont autorisés en arrière-plan et chaque service doit être enregistré:

  • audio: l'application lit un contenu audible pour l'user en arrière-plan. (Ce contenu comprend la diffusion de contenu audio ou video en utilisant AirPlay.)
  • location: l'application permet aux users d'être informés de leur position, même lorsque celle-ci s'exécute en arrière-plan.
  • voip-L'application permet à l'user d'effectuer des appels téléphoniques en utilisant une connection Internet.
  • newsstand-content-L'application est une application Kiosque qui télécharge et traite le contenu d'un magazine ou d'un journal en arrière-plan.
  • external-accessory-L'application fonctionne avec un accessoire matériel qui doit fournir des mises à jour régulières via le cadre External Accessory.
  • bluetooth-central-L'application fonctionne avec un accessoire Bluetooth qui doit fournir des mises à jour régulières selon le framework CoreBluetooth.

Outre ces services, vous pouvez créer une tâche de longueur finie en arrièreplan qui vous donne la possibilité de mettre fin à un process réseau.

Cela peut être important si votre application effectue une tâche importante, telle que l'écriture de données user sur le disque ou le téléchargement d'un file important à partir d'un server réseau.

En ce qui concerne votre question, il n'est pas vraiment clair si vous pouvez ou non faire une connection réseau rapide si vous avez un service de localization en arrière-plan. Je dirais que oui pour une courte connection, mais pas totalement sûr. Depuis iOS 4.0 cette utilisation a été refusée et claire dans la documentation, maintenant cette partie a été supprimée.

Oui si vous utilisez l'arrière-plan pour une connection rapide. Apple ne vous permettra pas de fonctionner en arrière-plan comme vous le souhaitez.

NON Si votre application ne correspond pas à la catégorie Voip, musique ou GPS; alors vous ne pouvez pas courir en arrière-plan.

plus ici: Mettre à jour mon application lorsqu'elle est en arrière-plan


Vous pouvez utiliser ASIHTTPRequest .

ASIHTTPRequest a la propriété setShouldContinueWhenAppEntersBackground: la valeur par défaut est NO , vous pouvez activer YES afin d'avoir un process réseau en arrière-plan.

La documentation Apple semble un peu floue sur la politique ssortingcte. Il y a certainement des applications dans le magasin d'applications qui effectuent des appels réseau sporadiques tout en s'exécutant en arrière-plan en tant qu'application basée sur l'location. Un exemple est l'application Geoloqi.