mapkit-ios-demo
mapkit-ios-demo copied to clipboard
Не вызываются методы делегата LocationManager
Добрый день, Не могу получить апдейты геолокации SDK 4.4.0 lite iOS 16 M1
final class MapViewController: UIViewController {
private let mapView = MapView()
private let locationManager: YMKLocationManager
private let viewModel: MapViewModelProtocol
private let disposeBag = DisposeBag()
init(viewModel: MapViewModel) {
self.viewModel = viewModel
locationManager = YMKMapKit.sharedInstance().createLocationManager()
super.init(nibName: nil, bundle: nil)
locationManager.subscribeForLocationUpdates(withDesiredAccuracy: 5,
minTime: 5,
minDistance: 5,
allowUseInBackground: true,
filteringMode: .off,
locationListener: self)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override func loadView() {
view = mapView
}
override func viewDidLoad() {
super.viewDidLoad()
addTargets()
bindViewModel()
}
private func addTargets() {}
private func bindViewModel() {}
}
extension MapViewController { /* @objc private func emailTextFieldChanged(_ textField: UITextField) { viewModel.inputs.emailChanged(textField.text) } */ }
extension MapViewController: YMKLocationDelegate { func onLocationUpdated(with location: YMKLocation) { print(location.absoluteTimestamp) }
func onLocationStatusUpdated(with status: YMKLocationStatus) {}
}
Важное дополнение: subscribeForSingleUpdate работает
Посмотрите, пожалуйста, статус в onLocationStatusUpdated. Возможно, что нет геолокации или разрешения на её использование.
Все доступы есть. Еще раз уточню: subscribeForSingleUpdate работает
Да и еще: onLocationStatusUpdated не работает также. Ни один метод делегата не работает
@YandexMapKit ау!
Проверили аналогичный код у нас. Работает исправно. Пожалуйста, приложите не выдержку, а полный минимальный пример проекта, который можно запустить и в котором проблема воспроизводится.
Вы можете выложить его проектом на GitHub, прикрепить к переписке в архиве или загрузить на Яндекс Диск и указать ссылку.
Тоже не работает. iOS 16, iOS 17.
Пожалуйста, отправьте пример проекта. Вы можете выложить его на GitHub, прикрепить к переписке архив или загрузить на Яндекс Диск и указать ссылку. Это поможет нам разобраться в ситуации.
Для обновления локации при allowUseInBackground: true, нужно добавить capability background modes и поставить галочку на location update, либо передать false, если обновление в бэкграунде не нужно