Würden Sie vermuten, dass Apple OK wäre, wenn Sie der App 3 Minuten Hintergrund immer und immer wieder geben und den Prozess für eine Stunde im Hintergrund belassen?
Nein, Apple wäre nicht in Ordnung, auch wenn Sie es tun könnten. Sie haben aus einem bestimmten Grund ein 3-Minuten-Limit festgelegt, um sicherzustellen, dass Apps nicht ohne Wissen des Benutzers im Hintergrund laufen, CPU-Zyklen, Speicher und Akku leer sind. (In der Tat war die "endliche Aufgabe" Grenze 5 Minuten, aber Apple hat es vor einigen Jahren noch auf 3 Minuten beschränkt.) Stellen Sie sich eine Welt vor, in der alle App-Entwickler diese 3-Minuten-Grenze routinemäßig umgehen würden Die Akkus sind schnell leer und Anwendungen im Vordergrund sind weniger reaktionsschnell und haben weniger Arbeitsspeicher.
Damit hat Apple eine sehr enge Reihe von Operationen identifiziert, die akzeptabel sind, um im Hintergrund weiter zu laufen (VOIP, Navigations-Apps, Musik-Apps, Bluetooth-Betrieb usw.), wo der Benutzer vernünftige Erwartungen hat Batterie- und Leistungseinfluss.
Es gibt auch Aufgabenklassen, die begrenzte Hintergrundfunktionen verwenden (z. B. Zeit für die Ausführung einer Task mit endlicher Länge, opportunistisches periodisches Hintergrundabrufen, signifikante Standortwechselservices, um dem Benutzer die Möglichkeit zu geben, auf Push oder lokal zu reagieren) Benachrichtigungen usw.). Ziel ist es, ein sinnvolles Gleichgewicht zwischen den Hintergrundfähigkeiten zu bieten und gleichzeitig die Auswirkungen auf die Batterie zu minimieren.
Unterm Strich entmutigt/beschneidet Apple den Einsatz wahlloser Hintergrundoperationen. Im App Store Guidelines, sagen sie explizit
2,16 Multitasking Apps nur Hintergrunddienste für ihre beabsichtigten Zwecke nutzen: VoIP, Audio-Wiedergabe, Standort, Aufgabenerledigung, lokale Benachrichtigungen etc.
...
4.5 Apps Hintergrund Location Services mit einem Grund bieten müssen, die den Zweck der Anwendung verdeutlicht, beschrieben unter Verwendung von Mechanismen in den Human Interface Guidelines
all dies gesagt ist, wenn Sie beschreiben, was Sie gerade diese benötigen Hintergrundoperation für, könnten wir in der Lage sein zu beschreiben, welche der vielen verschiedenen Hintergrundfähigkeiten, die Apple anbietet, Sie verwenden könnten, um den gewünschten Effekt zu erzielen. Alle diese Schnittstellen wurden entwickelt, um spezifische Probleme zu lösen und gleichzeitig die Funktionalität mit den knappen Ressourcen auf unseren Geräten in Einklang zu bringen. Aber wenn es so etwas wie "Hey, ich möchte meinen Server alle fünf Minuten anpingen", dann nein, Apple wird die Stirn runzeln.
Weitere Informationen finden Sie im Kapitel Background Execution der App-Programmieranleitung für iOS unter .
Haben Sie es tatsächlich auf einem realen Gerät versucht, das nicht mit Xcode verbunden ist? Ich bezweifle, dass dieser "Trick" Ihnen mehr als die 180 Sekunden im Hintergrund geben wird. – rmaddy