Share via


Registrieren von Xamarin.iOS-Apps für die Ausführung im Hintergrund

Das Registrieren einzelner Aufgaben für Hintergrundberechtigungen funktioniert für einige Anwendungen, aber was geschieht, wenn eine Anwendung ständig aufgerufen wird, um wichtige, lang andauernde Aufgaben auszuführen, z. B. das Abrufen von Wegbeschreibungen für den Benutzer per GPS? Anwendungen wie diese sollten stattdessen als bekannte Hintergrundanwendungen registriert werden.

Das Registrieren einer App signalisiert iOS, dass der Anwendung spezielle Berechtigungen erteilt werden sollen, die zum Ausführen von Aufgaben im Hintergrund erforderlich sind.

Anwendungsregistrierungskategorien

Registrierte Apps können in mehrere Kategorien fallen:

  • Audio : Musikplayer und andere Anwendungen, die mit Audioinhalten arbeiten, können registriert werden, um die Audiowiedergabe auch dann fortzusetzen, wenn sich die App nicht mehr im Vordergrund befindet. Wenn eine App in dieser Kategorie versucht, etwas anderes zu tun, als audio- oder downloaden im Hintergrund, wird sie von iOS beendet.
  • VoIP - VoIP-Anwendungen (Voice Over Internet Protocol) erhalten dieselben Berechtigungen, die Audioanwendungen gewährt werden, um Audiodaten weiterhin im Hintergrund zu verarbeiten. Sie sind auch berechtigt, bei Bedarf auf die VoIP-Dienste zu reagieren, die sie unterstützen, um ihre Verbindungen am Leben zu erhalten.
  • Externes Zubehör und Bluetooth : Für Anwendungen reserviert, die mit Bluetooth-Geräten und anderem externen Hardwarezubehör kommunizieren müssen, ermöglicht die Registrierung unter diesen Kategorien, dass die App mit der Hardware verbunden bleibt.
  • Kiosk : Eine Kioskanwendung kann weiterhin Inhalte im Hintergrund synchronisieren.
  • Standort : Anwendungen, die GPS- oder Netzwerkstandortdaten verwenden, können Standortaktualisierungen im Hintergrund senden und empfangen.
  • Fetch (iOS 7 und höher): Eine Anwendung, die für Abrufberechtigungen im Hintergrund registriert ist, kann einen Anbieter in regelmäßigen Abständen auf neue Inhalte überprüfen und dem Benutzer aktualisierte Inhalte präsentieren, wenn er zur Anwendung zurückkehrt.
  • Remotebenachrichtigungen (iOS 7 und höher): Anwendungen können sich registrieren, um Benachrichtigungen von einem Anbieter zu erhalten, und die Benachrichtigung verwenden, um ein Update zu starten, bevor der Benutzer die Anwendung öffnet. Benachrichtigungen können in Form von Pushbenachrichtigungen erfolgen oder die Anwendung automatisch reaktivieren.

Anwendungen können registriert werden, indem die Eigenschaft Erforderliche Hintergrundmodi in der Info.plist der Anwendung festgelegt wird. Eine Anwendung kann sich in so vielen Kategorien registrieren, wie sie erfordert:

Festlegen der Hintergrundmodi

Eine schritt-für-Schritt-Anleitung zum Registrieren einer Anwendung für Aktualisierungen des Hintergrundspeicherorts finden Sie in der exemplarischen Vorgehensweise für den Hintergrundspeicherort.

Die Anwendung wird nicht im Hintergrund ausgeführt.

Eine weitere Eigenschaft, die in Info.plist festgelegt werden kann, ist, dass die Anwendung nicht im Hintergrund ausgeführt wird, oder UIApplicationExitsOnSuspend die Eigenschaft:

Deaktivieren der Ausführung des Hintergrunds

Dies hat genau die gleiche Auswirkung wie das Festlegen der Einstellung "Hintergrund-App-Aktualisierung" in iOS 7 und höher, mit der Ausnahme, dass sie nur auf Entwicklerseite geändert werden kann und für iOS 4 und höher verfügbar ist. Die Anwendung wird sofort nach dem Eingeben des Hintergrunds angehalten und kann keine Verarbeitung durchführen.

Verwenden Sie diese Eigenschaft, wenn Ihre Anwendung nicht für die Verarbeitung von Hintergrunddaten konzipiert ist, da dadurch unerwartetes Verhalten vermieden wird.

Hintergrundabruf und Remotebenachrichtigungen

Hintergrundabruf- und Remotebenachrichtigungen sind spezielle Registrierungskategorien, die in iOS 7 eingeführt wurden. Mit diesen Kategorien können Anwendungen neue Inhalte von einem Anbieter empfangen und im Hintergrund aktualisiert werden. Im nächsten Abschnitt werden Abruf- und Remotebenachrichtigungen ausführlicher behandelt. Außerdem wird die Standorterkennung als Mittel zum Aktualisieren einer Anwendung im Hintergrund unter iOS 6 vorgestellt.