Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Не вызываются методы делегата LocationManager #200

Open
IvanBogdantsev opened this issue Sep 25, 2023 · 9 comments

Comments

@IvanBogdantsev
Copy link

IvanBogdantsev commented Sep 25, 2023

Добрый день,
Не могу получить апдейты геолокации
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) {}

}

@IvanBogdantsev
Copy link
Author

Важное дополнение: subscribeForSingleUpdate работает

@YandexMapKit
Copy link
Collaborator

Посмотрите, пожалуйста, статус в onLocationStatusUpdated. Возможно, что нет геолокации или разрешения на её использование.

@IvanBogdantsev
Copy link
Author

Все доступы есть. Еще раз уточню: subscribeForSingleUpdate работает

@IvanBogdantsev
Copy link
Author

Да и еще: onLocationStatusUpdated не работает также. Ни один метод делегата не работает

@IvanBogdantsev
Copy link
Author

@YandexMapKit ау!

@YandexMapKit
Copy link
Collaborator

Проверили аналогичный код у нас. Работает исправно.
Пожалуйста, приложите не выдержку, а полный минимальный пример проекта, который можно запустить и в котором проблема воспроизводится.

Вы можете выложить его проектом на GitHub, прикрепить к переписке в архиве или загрузить на Яндекс Диск и указать ссылку.

@SuleymanovKamil
Copy link

Тоже не работает. iOS 16, iOS 17.

@YandexMapKit
Copy link
Collaborator

Пожалуйста, отправьте пример проекта. Вы можете выложить его на GitHub, прикрепить к переписке архив или загрузить на Яндекс Диск и указать ссылку. Это поможет нам разобраться в ситуации.

@SuleymanovKamil
Copy link

SuleymanovKamil commented Dec 5, 2023

Для обновления локации при allowUseInBackground: true, нужно добавить capability background modes и поставить галочку на location update, либо передать false, если обновление в бэкграунде не нужно

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants