Ich habe eine Anwendung mit einer expliziten Benutzerinteraktion, die den aktuellen Standort des Benutzers verwendet. Wenn der Benutzer den Zugriff auf Ortungsdienste verweigert, möchte ich nachfolgende Verwendungen, um den Benutzer aufzufordern, zu den Einstellungen zu wechseln und die Ortungsdienste für meine App wieder zu aktivieren.
Ich möchte das Verhalten der integrierten Maps-App:
- Standortwarnungen unter Einstellungen> Allgemein> Zurücksetzen> Standortwarnungen zurücksetzen zurücksetzen.
- Starten Sie die Karten-App.
- Tippen Sie unten links auf die Schaltfläche Aktueller Standort.
- Eingabeaufforderungen für Karten mit "" Karten "möchten Ihren aktuellen Standort verwenden" | "Nicht zulassen" | "Ermöglichen".
- Wählen Sie die Option "Nicht zulassen".
- Tippen Sie erneut auf die Schaltfläche Aktueller Standort in der unteren linken Ecke.
- Karten werden mit der Option "Standortdienste aktivieren" aktiviert, damit "Karten" Ihren Standort bestimmen können "| "Einstellungen" | "Stornieren".
In meiner eigenen App führt der gleiche grundlegende Ablauf dazu, dass meine CLLocationManagerDelegate -locationManager: didFailWithError: -Methode im letzten Schritt mit einem kCLErrorDenied-Fehler aufgerufen wird und der Benutzer nicht die Option erhält, die Einstellungen-App zu öffnen, um sie zu korrigieren.
Ich könnte meine eigene Warnung als Reaktion auf den Fehler anzeigen, aber es wäre nicht möglich, die Einstellungen-App wie die Warnung zu starten, die das Betriebssystem bereitstellen kann, wie sie von der integrierten Karten-App verwendet wird.
Gibt es etwas in der CLLocationManager-Klasse, das mir fehlt, das mir dieses Verhalten geben könnte?