iOS équivalent pour Android?
Donc avec iOS 7 l'aide d'un plus large mode d'arrière-plan, est-il possible d'avoir enfin un équivalent pour Android sur iOS?
Ce que je suis après est essentiellement de l'application en cours d'exécution Un en arrière-plan et ont une ou plusieurs applications B et C de parler de l'application (sans affichage de l'interface graphique d'Une application).
Veuillez noter que l'utilisation de la connectivité et des notifications push ne peut pas être une option bien que c'est la façon de le faire.
Des idées?
Je vous recommande de vous poser cette question, d'ailleurs depuis iOS 7 n'est pas encore sorti. Le meilleur endroit pour ce genre de chose, c'est les forums des développeurs Apple. Je doute qu'Apple va jamais, il suffit de laisser votre application de fonctionner en arrière-plan. Trop idiot programmeurs vont écrire de la merde services de sucer le bas de la batterie.
OriginalL'auteur Eloy_007 | 2013-08-20
Vous devez vous connecter pour publier un commentaire.
EDIT: ne fonctionne Pas comme prévu. Voir cette réponse pour la meilleure solution: Les Notifications Push
EDIT: La solution suivante est utile uniquement lorsque l'utilisateur est dans l'application pour maintenir la synchronisation.
Il n'y a aucun moyen d'effectuer des tâches en arrière-plan de façon permanente, mais vous pouvez utiliser la longueur finie de tâches à faire, quand vous faites une longueur finie, cela va toujours exécuter, tandis que l'application est active, mais lorsque vous cliquez sur bouton home, ios vous donne seulement 10 min pour effectuer votre tâche et de l'invalider, mais il vous donne une chance de faire un "gestionnaire d'invalider le bloc" où vous pouvez faire des dernières actions avant de terminer définitivement.
Donc, si vous utilisez le bloc de gestionnaire d'appeler une longueur finie de la tâche d'autres temps, vous pouvez simuler un service par l'exécution d'une tâche pendant 10 min et lorsque sa fin, appeler sa de même pour d'autres 10 min et par conséquent.- Je l'utiliser dans un projet de création d'une interface de Service. Je vous laisse ici le code:
Avec cette classe, j'ai effectuer mes services, mais je n'ai pas fait de test pour un très long moment.
Le meilleur test que j'ai fait a duré 16 heures dans le simulateur et tout fonctionne bien!EDIT: Qui a été testé sur le simulateur, mais le téléphone ne fonctionne pas après l'application a été résilié.
Je vous laisse un exemple:
Et dans votre délégué d'application ou si vous avez besoin de lever le service, vous écrivez la ligne suivante:
Et si vous avez besoin de l'arrêter:
Peut avoir expliqué plus que nécessaire, mais je veux garder clair pour tout le monde!
J'espère que son aide et désolé pour mon anglais.
est-ce la solution d'apple à l'approbation de l'environnement?
Je ne sais pas, toujours le développement de l'application. Juste eu des problèmes avec ça parce que j'ai tester l'application sur un iPhone 5C et services d'arrêter au bout de 10 min. :S
Merci. J'ai essayé que sur l'iPhone 4S avec iOS 6.1. Le travail s'arrête à une dizaine de minutes. Si le code est à nouveau l'appel de la tâche en arrière-plan après le temps des finitions. Aucune aide :O
jetez un oeil à cette réponse: Notifications Push
OriginalL'auteur IgniteCoders
Non, il n'est pas l'équivalent d'un Android. MansApps code ne fonctionne pas, du moins pas sur iOS7. Un appel de
[[UIApplication sharedApplication] endBackgroundTask:self.backgroundTask];
à l'expiration d'un délai de gestionnaire ne reviendra que lorsque l'application revient au premier plan, c'est à dire, l'appel de[self startBackgroundTask];
ne sera pas exécuté lorsque l'application reste en arrière-plan.OriginalL'auteur CryptoPaul
J'ai trouvé la meilleure et la solution standard:
Notifications Push
(original post par Matthijs Hollemans, mise à jour par Ali Hafizji).
Dans iOS, les applications ne peuvent pas faire beaucoup de choses dans le contexte. Les applications ne sont autorisés à faire ensemble limité d'activités de vie de la batterie est conservée.
Mais que faire si quelque chose d'intéressant se produit et que vous souhaitez laisser l'utilisateur de savoir à ce sujet, même si elles ne sont pas actuellement à l'aide de votre application?
Par exemple, peut-être que l'utilisateur a reçu un nouveau tweet, leur équipe favorite a gagné le jeu, ou que le dîner est prêt. Depuis l'application n'est pas en cours d'exécution, il ne peut pas contrôler ces événements.
Heureusement, Apple a fourni une solution pour ce. Au lieu de votre application en continu la vérification des événements ou faire un travail en arrière-plan, vous pouvez écrire un composant côté serveur pour ce faire à la place.
Et quand un événement d'intérêt se produit, le composant côté serveur peut envoyer l'application d'un de notification push! Il y a trois choses qu'un de notification push pouvez faire:
Tutoriel lien: http://maniacdev.com/2011/05/tutorial-ios-push-notification-services-for-beginners
OriginalL'auteur IgniteCoders
En gros, c'est impossible, si votre application ne permet pas de mettre en œuvre toutes les fonctionnalités énumérées ci-dessous. Et ils ont à peine d'enquêter sur votre application avant de la télécharger sur le store, vous devez justifier de l'utilisation des autorisations
C'est ce que Apple a à dire à ce propos:
La Mise En Œuvre À Long Tâches En Cours D'Exécution
Pour les tâches qui nécessitent plus de temps d'exécution à mettre en œuvre, vous devez demander des autorisations spécifiques à exécuter en tâche de fond sans leur suspension. Dans iOS, seulement l'application spécifique types sont autorisés à s'exécuter en arrière-plan:
Applications qui mettent en œuvre ces services doivent déclarer les services de soutien et d'utiliser le système de cadres pour mettre en œuvre les aspects pertinents de ces services. Déclarer les services permet au système de savoir quels services vous utilisez, mais dans certains cas c'est le système des cadres qui en fait prévenir de votre application à partir de la suspension.
OriginalL'auteur IgniteCoders