Я использую метод экземпляра requestWhenInUseAuthorization()
класса CLLocationManager
для принудительного появления предупреждающего сообщения Turn On Location Services to Allow "myApp" to Determine Your Location
во второй раз после того, как пользователь выбирает Cancel
при его первом появлении, но предупреждающее сообщение не отображается второй раз. Может кто-нибудь объяснить, где я иду не так в моем коде? Спасибо.
У меня есть код ниже в одном пользовательском подклассе UITableViewController
;
if (CLLocationManager.locationServicesEnabled() == false) || (CLLocationManager.authorizationStatus() != .authorizedWhenInUse)
{
self.navigationController!.popViewController(animated: true)
}
, который должен заставить предыдущий экземпляр другого пользовательского подкласса UITableViewController
снова отобразить его представление в методе viewDidAppear()
ниже;
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(true)
// prompts user to turn on location services
locationManager.requestWhenInUseAuthorization()
}
но это не приводит к тому, что предупреждающее сообщение показывается пользователю во второй раз. Оба пользовательских экземпляра подкласса UITableViewController
встроены в экземпляр UINavigationController
в моем файле раскадровки.