Gibt es eine Möglichkeit, Benutzer zu fragen, Erlaubnis für die Standortbestimmung zu geben, wenn sie verweigert, wenn sie zuerst gefragt wurden?Swift - Core Location Request Erlaubnis, wenn nicht gewährt
0
A
Antwort
3
Für Benutzer aktuellen Standort bekommen müssen Sie erklären:
let locationManager = CLLocationManager()
In viewDidLoad(): Sie aktuelle Standort Benutzer
// Ask for Authorisation from the User.
self.locationManager.requestAlwaysAuthorization()
// For use in foreground
self.locationManager.requestWhenInUseAuthorization()
if CLLocationManager.locationServicesEnabled() {
locationManager.delegate = self
locationManager.desiredAccuracy = kCLLocationAccuracyNearestTenMeters
locationManager.startUpdatingLocation()
}
Dann in CLLocationManagerDelegate Methode Koordinaten erhalten kann:
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
var locValue:CLLocationCoordinate2D = manager.location.coordinate
print("locations = \(locValue.latitude) \(locValue.longitude)")
}
Wenn der Benutzer den Standort abgelehnt hat, geben Sie ihm die Option, den Standort pe zu ändern rmission von den Einstellungen:
func locationManager(manager: CLLocationManager, didFailWithError error: NSError) {
print("error::: \(error)")
locationManager.stopUpdatingLocation()
let alert = UIAlertController(title: "Settings", message: "Allow location from settings", preferredStyle: UIAlertControllerStyle.Alert)
self.presentViewController(alert, animated: true, completion: nil)
alert.addAction(UIAlertAction(title: TextMessages().callAlertTitle, style: .Default, handler: { action in
switch action.style{
case .Default: UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)!)
case .Cancel: print("cancel")
case .Destructive: print("destructive")
}
}))
}
0
Nein, Sie können sie nur innerhalb der App innerhalb einer Warnung erinnern, z. B. "Zur besseren Verwendung schlagen wir Ihnen vor, uns die Erlaubnis zur Verwendung Ihres Standorts zu geben". Und um den Button "Gehe zu Einstellungen" hinzuzufügen, der den Benutzer zu den Standortberechtigungen für Ihre Anwendung umleitet.
Verwandte Themen
- 1. Core Location - Rückwirkend Informationen in Swift
- 2. Location Manager-Updates entfernen Erlaubnis
- 3. Android strorage Zugang Rahmen persistierbar Erlaubnis nicht während asyntask gewährt
- 4. Core Location - Problem Initialisierung
- 5. Core Location funktioniert nicht in Xcode 7.3
- 6. Core Location-Anmeldeprotokoll
- 7. iOS7 Core Location wird nicht aktualisiert
- 8. Pinch Media - Core Location Optional
- 9. Location-Services-Erlaubnis verschwindet immer wieder
- 10. Swift User Location Problem
- 11. SecurityException: Keine persistierbare Erlaubnis gewährt für URI von ACTION_IMAGE_CAPTURE
- 12. Zweig: Wenn is_granted ('ROLE_MANAGER') Prüfung nicht gewährt
- 13. Core Data Swift 3 Beziehung
- 14. Swift 3 Core Data
- 15. wie man Benutzerberechtigungen gewährt
- 16. iPhone: Application Testing und Core Location
- 17. Indoor-Positionierung auf iOS mit Core Location - nicht genau?
- 18. Hintergrund Fetch und Core Location mit Zeitplan
- 19. Android-Berechtigung nicht gewährt mit Samsung SDK
- 20. Check M Berechtigung gewährt oder verweigert von nicht Aktivität Klasse
- 21. AH01626: Autorisierungsergebnis von Erfordern alle gewährt: gewährt
- 22. Zoomen Sie auf User Location-Swift
- 23. Swift Spritekit isometrische Karte Touch-Location
- 24. USB-Host-Modus - Gerätezugriffsberechtigung gewährt, aber nicht gespeichert
- 25. Aktivieren Sie asp.net Core Request Validierung
- 26. Swift Core Audio Lernressourcen
- 27. Google Fit Permission nicht im allerersten Mal gewährt
- 28. Andere ähnliche Anwendungen nicht tun Erlaubnis Kontrollen
- 29. Erhalte Fehler Erlaubnis write_external_storage mit Laufzeit Erlaubnis
- 30. Android Marshmallow - Warum gefährliche Erlaubnis gewährt wird, ohne Benutzer zu fragen
ist das ernsthaft die Antwort? –
@NumanKaraaslan Ja. Und wenn Sie es sorgfältig lesen, werden Sie feststellen, dass dies eine kurze Variante der angenommenen Antwort ist. – Lexorus