Есть ли способ попросить пользователей дать разрешение на обнаружение местоположения, если они отрицают, когда их сначала спрашивают?Swift - разрешение запроса на размещение основного ядра, если не предоставлено
0
A
ответ
3
Для получения текущего местоположения пользователя вы должны объявить:
let locationManager = CLLocationManager()
В viewDidLoad():
// 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()
}
Затем в методе CLLocationManagerDelegate вы можете получить текущее местоположение пользователя координаты:
func locationManager(manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
var locValue:CLLocationCoordinate2D = manager.location.coordinate
print("locations = \(locValue.latitude) \(locValue.longitude)")
}
Если пользователь отказал в местоположении, дайте ему возможность изменить местоположение pe прием от установок:
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
Нет, вы можете просто напомнить им внутри приложения в рамках предупреждения, например: «Для лучшего использования мы предложим вам предоставить нам разрешения на использование вашего местоположения». И добавьте кнопку «Перейти к настройкам», которая перенаправит пользователя на разрешения на размещение для вашего приложения.
Смежные вопросы
- 1. Разрешение на размещение в Marshmallow Android не работает, даже если разрешение предоставлено пользователем
- 2. Проверьте, если разрешение на размещение
- 3. Android-разрешение не предоставлено
- 4. Аутентификация WSO2 Oauth2 - Предоставлено разрешение на авторизацию
- 5. разрешение на размещение геолокации
- 6. MapView не запрашивает разрешение на размещение
- 7. WSO2AM - SAML - предоставлено разрешение на авторизацию
- 8. «Написать настройки» разрешение не предоставлено зефир андроида
- 9. Попытка получить разрешение на размещение в iOS Swift
- 10. Android 6.0 Разрешение на размещение
- 11. Первичное перенаправление основного ядра ASP.NET, если указанный путь не указан
- 12. UIWebView запрашивает разрешение на размещение
- 13. Принудительное разрешение на размещение на iPhone
- 14. Использование JSON для создания основного ядра-ядра/основного подменю
- 15. Проверьте, было ли уже предоставлено разрешение на геолокацию html5
- 16. Marshmallow FINE и COARSE разрешение на размещение
- 17. Изменить разрешение на размещение после развертывания
- 18. Разрешение на размещение Google Maps Google
- 19. iOS Today Расширение/виджет - разрешение на размещение?
- 20. Разрешение на размещение в Android Фрагмент
- 21. Запросить разрешение на размещение из рамок?
- 22. Android-разрешение не предоставлено с использованием Samsung SDK
- 23. андроид обновленная система приложение не предоставлено новое разрешение
- 24. Google Fit Разрешение не предоставлено в первый раз
- 25. Время загрузки основного ядра ASP.NET
- 26. Не удалось загрузить файл основного ядра
- 27. VBScript - получить разрешение основного монитора
- 28. Собственное пользовательское свойство основного ядра
- 29. AppHarbor - Поддержка основного ядра ASP.NET
- 30. android - разрешение на временное размещение - GoogleApiClient еще не подключен
это всерьез ответ? –
@NumanKaraaslan Yep. И если вы внимательно прочитаете это, вы обнаружите, что это короткий вариант принятого ответа. – Lexorus