IB Designables: не удалось отобразить и обновить статус автоматического макета (Google Maps) - PullRequest
1 голос
/ 06 июня 2019

Через несколько дней у меня возникает следующая проблема:

Main.storyboard: error: IB Designables: Failed to render and update auto layout status for SomeViewController (BeW-27-X9H): dlopen(GoogleMaps.framework, 1): no suitable image found.  Did find:
    GoogleMaps.framework: mach-o, but wrong filetype

У меня 28 подобных ошибок в разных контроллерах представления, хотя я использую Карты Google только в некоторых из них.Из-за этой проблемы я не могу редактировать некоторые контроллеры представления (они часто пусты).Я могу редактировать другие контроллеры, но часто не обновляю себя (я что-то меняю и не вижу), если только я заново не открываю раскадровку или не перезагружаю Xcode.

Я прочитал бесчисленные решения, но ни один изони работают.Я читал, что причина в стручках какао, однако я не могу понизить до 1.4, потому что некоторые из моих стручков требуют 1.5.Исправления post_install также не помогают.

Я пытался очистить папку сборки и полученные данные.Я попытался повторно запустить обновление модуля.Я пытался перезапустить XCode и Mac OS несколько раз.

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

Если это действительно проблема с какао-бобами, я попробовал ручную интеграцию без какао-бобов.Тем не менее, есть та же ошибка.

Я также попробовал следующее решение:

import GoogleMaps

class GoogleMapView: GMSMapView {

}

Но проблема не исчезнет.Можно ли что-нибудь сделать, чтобы исправить эту досадную проблему?Он появился из ниоткуда.

Ответы [ 3 ]

0 голосов
/ 12 июня 2019

Может быть, вы могли бы сделать собственное представление, содержащее GMSMapView (не подкласс), и вместо этого используйте пользовательский вид в раскадровке.

0 голосов
/ 14 июня 2019

У меня есть некоторые проблемы рендеринга (с другими компонентами) в файлах раскадровки. Я не понял основную причину, но я думаю, что это связано с производительностью оборудования (не уверен). Обходной путь заключается в том, чтобы на мгновение изменить класс представления, вызывающий проблему (используйте стандартный UIView), чтобы легко редактировать раскадровку, и отменить это изменение после завершения обновлений. Надеюсь, это поможет.

0 голосов
/ 10 июня 2019

Это супер глупо, но иногда я просто удаляю @ IBDesignable представление из раскадровки и затем отменяю.

...