Что вызывает какао исключение / cra sh «Неожиданные ограничения размера контента»? - PullRequest
0 голосов
/ 06 февраля 2020

Приложение, над которым я работаю, сталкивается с cra sh с этим сообщением об исключении:

Crashing on exception: Unexpected content size constraints (
    "<NSAutoresizingMaskLayoutConstraint:0x600000f12c10 h=--- v=--- MyAppsView:0x7fd0d018be80.minX == 0   (active, names: '|':NSNextStepFrame:0x600001770ea0 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x600000f10140 h=--- v=--- H:[MyAppsView:0x7fd0d018be80]-(0)-|   (active, names: '|':NSNextStepFrame:0x600001770ea0 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x600000f10b90 h=--- v=--- MyAppsView:0x7fd0d018be80.minY == 0   (active, names: '|':NSNextStepFrame:0x600001770ea0 )>",
    "<NSAutoresizingMaskLayoutConstraint:0x600000f114f0 h=--- v=--- V:|-(0)-[MyAppsView:0x7fd0d018be80]   (active, names: '|':NSNextStepFrame:0x600001770ea0 )>"
) on view <MyAppsView: 0x7fd0d018be80>

Мы пытаемся понять это:

  • Что такое не так с этим набором ограничений? Это не кажется чрезмерным.
  • Почему это cra sh? Другие проблемы с ограничениями Какао, которые я видел, всегда нефатальные - они будут регистрировать сообщения типа «Невозможно одновременно удовлетворить ограничения: ...» и «Будет пытаться восстановиться, нарушив ограничение: ... ", а затем продолжить. При поиске в этом исключении «Неожиданные ограничения размера контента» буквально получает ноль хитов.
  • Приложение имеет много экземпляров «MyAppsView». Не имея возможности воспроизвести cra sh в отладчике, есть ли способ определить, какой из них задействован? (например, есть ли метаданные, которые мы могли бы добавить к каждому экземпляру, который будет отображаться в этом журнале ошибок?)
  • Есть ли способ, которым мы могли бы подключить прослушиватель, который запускается всякий раз, когда ограничения добавляются или изменяются в данном представлении? Таким образом, мы могли бы добавить утверждения или другие записи в журнал, чтобы выяснить, когда будет установлена ​​эта комбинация ограничений. (Хотя мне все еще неясно, что отличает это от «плохого» набора ограничений).

Есть еще какие-нибудь советы? Кто-нибудь еще испытывал проблемы с автопоставкой, вызывающие полное включение cra sh, как это?

...