当 AutoLayout 在调试控制台中记录无法满足的约束时,如何使我的应用程序崩溃?

Posted

技术标签:

【中文标题】当 AutoLayout 在调试控制台中记录无法满足的约束时,如何使我的应用程序崩溃?【英文标题】:How can I make AutoLayout crash my app when it logs unsatisfiable constraints in debug console? 【发布时间】:2019-05-22 08:21:42 【问题描述】:

我在一个团队中工作。当有人使用 AutoLayout 开发新的 UI 时,他们经常在模拟器/设备上进行测试而忘记了控制台。经过几个月的此类行为调试控制台充斥着无法满足的约束日志,并将尝试通过破坏 X 来恢复。虽然我们处理了这个问题并修复了它们(这很累和无聊),但我真的想防止这些错误在未来增长并且一旦此类消息出现在控制台中,就会抛出异常。实现这一点的最佳方法是什么?

【问题讨论】:

【参考方案1】:

UIViewAlertForUnsatisfiableConstraints 上添加一个符号断点。

现在,如果您遇到约束冲突,至少应用会停止并且您会注意到。

【讨论】:

谢谢,马特!我担心当您使用版本控制系统时断点不会与 .xcworkspace 一起传递,因此当新开发人员加入团队时 - 我将不得不提醒自己提醒他们设置该特定断点,有时我肯定会忘记.有没有其他方法可以做到这一点? 从一开始就更好的编程实践?我的意思是说真的,不知道你有自动布局问题只是愚蠢的。

以上是关于当 AutoLayout 在调试控制台中记录无法满足的约束时,如何使我的应用程序崩溃?的主要内容,如果未能解决你的问题,请参考以下文章

当项目使用自动布局时,导航控制器无法在 iOS 7 中推送视图控制器

使用 UIScrollView 和 AutoLayout 以编程方式创建控制器无法正确调整视图大小

在自定义视图和视图控制器中使用 AutoLayout

Autolayout,几个UILabels,每行,相同的字体大小?

在 maven jetty 7 插件中启用调试日志记录

无法满足约束时如何识别调试区域中的视图?