Приложение, над которым я работаю, сталкивается с 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, как это?