Я использую 3.1.0 версию Google Maps SDK для iOS.При назначении view
на GMSMapView
в функции loadView
приложение вылетает со следующей ошибкой: 'NSInvalidArgumentException', reason: 'GMSx_GMMClientPropertiesRequestProto.screenPixelDensity: Attempt to set an unknown enum value (0)'
.Это действительно странно, почему это происходит.Я пытался понизить версию Google Maps, но это не помогло.В AppDelegate
я предоставляю API_KEY
.Вот мой код, как я использую Google Maps:
lazy var mapView: GMSMapView = GMSMapView(frame: .zero)
override func loadView() {
super.loadView()
view = mapView
}
В чем причина возникновения этой ошибки и как ее можно устранить?
ОБНОВЛЕНИЕ-1: Я провел небольшой эксперимент и протестировал на нескольких устройствах следующий простой код:
override func viewDidLoad() {
super.viewDidLoad()
let mapView = GMSMapView()
let dummyView = UIView()
dummyView.backgroundColor = .purple
view = mapView
}
Этот код успешно показывает карту на iPhone 7, но завершается с той же ошибкойна iPhone SE.Оба устройства работают на iOS 12.3.1.Сбой при инициализации mapView
, а не при установке view
.Даже когда я устанавливаю dummyView
на view
, он падает, потому что я инициализировал mapView
.
ОБНОВЛЕНИЕ-2: Попытался избежать инициализации переменной mapView
самостоятельно.Создал раскадровку, добавил представление и указал, что класс GMSMapView
и подключен к моему контроллеру представления.Убрал весь вышеуказанный код из ВК.Работал в iPhone 7, вышел из строя в iPhone SE с той же ошибкой.
ОБНОВЛЕНИЕ-3: Создан новый проект и используется тот же API_KEY для отображения карт.Это работало в iPhone SE!Это значит, что проблема не в устройстве, а в проекте.До сих пор не знаю, где это, но, возможно, в стручках.