У меня странная проблема с Core Locations, которая только что начала происходить в моем проекте swift 4.2 с Xcode 10.1: теперь компилятор отклоняет реализацию следующего метода CLLocationManagerDelegate
:
func locationManager(_ manager: CLLocationManager, didUpdateLocations locations: [CLLocation]) {
//code
}
Я получаю следующееошибка:
'locationManager (: didUpdateLocations :)' был переименован в 'locationManager (: didUpdate:)'
enterописание изображения здесь
Однако последняя документация Apple не документирует это изменение, и обновление имени параметра приводит к появлению следующего предупреждения, которое, по-видимому, указывает на ошибку XCode:
Метод экземпляра 'locationManager (: didUpdate :)' почти соответствует необязательному требованию 'locationManager (: didUpdateLocations :)' протокола 'CLLocationManagerDelegate'.Переименуйте в locationManager (_: didUpdateLocations :), чтобы удовлетворить это требование
введите описание изображения здесь
Кроме того, это происходит только при сборке симулятораустройство.Я не получаю эту ошибку при сборке для моего iPhone, который работает под управлением более ранней версии iOS (11.4.2).
Изменение имени параметра работает на симуляторе (т. Е. Метод вызывается), но не на моем устройстве.Теперь я нахожусь в месте, где мне нужно обновлять код каждый раз, когда я перехожу с симулятора на устройство и наоборот.
Любые предложения о том, как мне избавиться от этой проблемы, были бы очень признательны!