Wenn Sie den folgenden Inhalt aus dem Apple-Dokument betrachten, haben Sie offensichtlich zwei Alternativen gegen die Verwendung wichtiger Standortänderungen, um eine App aus dem Hintergrund zu aktivieren. Ich habe die Dienste markiert, mit denen Sie die App neu starten können, wenn sie beendet wurde.
Mit Location Services in den Hintergrund Die meisten Standortdienste sollen verwendet werden, während die App im Vordergrund, aber einige können auch im Hintergrund laufen. In einigen Fällen können Standortereignisse sogar dazu führen, dass Ihre App erneut gestartet wird, um ein Ereignis zu verarbeiten ( ). Um die meisten Standort Dienste im Hintergrund auszuführen, müssen Sie die Standortaktualisierungen Hintergrundmodus auf der Registerkarte Funktionen Ihres Xcode-Projekts aktivieren. Für Dienste, die Ihre App starten, müssen Sie die Berechtigung "Immer" ( ) vom Benutzer anfordern.
Der Standardpositionsdienst liefert Ereignisse normalerweise, während eine App im Vordergrund ausgeführt wird. Wenn sich Ihre App im Hintergrund befindet, liefert dieser Service Ereignisse nur dann, wenn der Hintergrundmodus für Standortinformationen für die App aktiviert ist. Dieser Dienst startet iOS-Apps, die beendet wurden, nicht neu.
Der wichtiger Standortänderungsdienst liefern Ereignisse normalerweise während eine App im Vordergrund oder im Hintergrund ausgeführt wird. Für eine beendete iOS-App führt dieser Dienst ein Relaunch der App durch, um Ereignisse auszuliefern. Die Nutzung dieses Dienstes erfordert die Autorisierung "Immer" vom Benutzer .
Der Regionsüberwachungsdienst liefert Ereignisse normal, während eine App im Vordergrund oder Hintergrund ausgeführt wird. (Sie können diesen -Dienst sowohl für geographische Regionen als auch für Beacon-Regionen verwenden.) Für eine beendete iOS-App startet dieser Dienst die App neu, um Ereignisse zu liefern. Verwendung von Dieser Dienst erfordert die Autorisierung "Immer" vom Benutzer.
Beacon ranging liefert Ereignisse normal, während eine App im Vordergrund läuft, . Wenn sich Ihre App im Hintergrund befindet, liefert dieser Dienst Ereignisse nur dann, wenn der Standort-Updates-Hintergrundmodus für die App aktiviert ist und der Standard-Standortdienst ausgeführt wird. (Wenn die Eigenschaft der Region die Eigenschaft notifyEntryStateOnDisplay auf YES gesetzt ist, bewirkt das Aufwecken des Geräts , dass die App im Bereich für einige Sekunden nach Beacons sucht.) Dieser Dienst startet keine iOS-Apps, die beendet wurden. Sie können jedoch erneut gestartet werden, indem Sie die Beacons Regionen mithilfe des Regionsüberwachungsdiensts überwachen.
Der Überschriftenservice liefert Ereignisse normalerweise, während eine iOS App im Vordergrund ausgeführt wird. Wenn sich Ihre App im Hintergrund befindet, liefert dieser Dienst nur dann Ereignisse, wenn der Standortinformationen-Hintergrundmodus für die App aktiviert ist und der Standardortungsdienst ausgeführt wird. Dieser Dienst startet iOS-Apps, die beendet wurden, nicht neu.
Der Besuchsdienst liefert Ereignisse normalerweise, während eine iOS App im Vordergrund ausgeführt wird. Wenn sich Ihre App im Hintergrund befindet, liefert dieser Dienst nur dann Ereignisse, wenn der Standortinformationen-Hintergrundmodus für die App aktiviert ist und der Standardortungsdienst ausgeführt wird. Bei einer gestoppten iOS-App startet dieser Dienst die App neu, um Ereignisse zu übermitteln. Die Nutzung dieses Dienstes erfordert die Autorisierung "Immer" vom Benutzer .
Durch Aktivieren des Hintergrundmodus für Standortaktualisierungen wird sichergestellt, dass eine App im Hintergrund weiter Standortereignisse empfängt. Wenn die App in den Hintergrund verschoben wird, fügt das System der Statusleiste den Indikator location-services hinzu, damit der Benutzer weiß, dass eine Anwendung Standortdienste verwendet. Das System kann die App jederzeit noch beenden , um seinen Speicher oder andere Ressourcen zurückzufordern.
Auch aus dem doc,
Ersten die besuchten Orte In iOS bietet der Besucherdienst eine Alternative zu dem bedeutenden Standortwechsel-Service für Anwendungen, die Lage Informationen über interessante Orte benötigen, die der Benutzer besucht. Für Beispiel, wenn der Benutzer an einem Ort für einen längeren Zeitraum von Zeit ist, kann der Dienst ein Ereignis generieren, wenn der Benutzer bei diese Position und eine andere, wenn der Benutzer diesen Ort verlässt. Der Dienst ist für Apps vorgesehen, die möglicherweise bereits den wichtigen Standortänderungsdienst verwenden und eine noch niedrigere Stromart benötigen, um dies zu tun. Sie würden diesen Dienst nicht verwenden, um Navigations-Apps oder Apps zu erstellen, die auf regelmäßigen Standortaktualisierungen beruhen.
Ja können Sie, aber Sie können es mit erheblichen Standortüberwachung zu kombinieren, um benötigen kontinuierliche Lage Updates zu erhalten; http://stackoverflow.com/questions/20187700/startupdatelocations-in-background-didupdatingtolocation-only-called-10-20-time – Paulw11