&#34; <私人>&#34;在xcode中记录AutoLayout问题

时间:2017-03-27 19:50:18

标签: xcode logging autolayout

我最近遇到了一些与AutoLayout相关的问题,但无法确定哪些约束是错误的 - 日志看起来像:

[Layout] Unable to simultaneously satisfy constraints:
<private>

Will attempt to recover by breaking constraint 
<private>

Set the NSUserDefault NSConstraintBasedLayoutVisualizeMutuallyExclusiveConstraints to YES to have -[NSWindow visualizeConstraints:] automatically called when this happens.  And/or, set a symbolic breakpoint on LAYOUT_CONSTRAINTS_NOT_SATISFIABLE to catch this in the debugger.

我确实尝试在LAYOUT_CONSTRAINTS_NOT_SATISFIABLE设置断点并尝试查看是否可以,但在那里也失败了:

(lldb) p $arg1
(unsigned long) $0 = 4330017792

当我们看到所有其他约束时,如何正常记录这些约束?

检查一些问题/论坛我开始知道Apple引入了#34;统一日志系统&#34;,将一些日志设为私有,而不是将个人数据强加给任何人。 (我想知道在记录限制中会显示哪种个人数据?)

我确实看过this question,但对我也没有用。

1 个答案:

答案 0 :(得分:0)

你能更新你的macOS吗?这应该在10.12.2中修复。如果您在调试时仍然看到,请记录一个错误。

打印$ arg1的lldb命令应该打印为对象:po $ arg1。确保您位于名为“LAYOUT_CONSTRAINTS_NOT_SATISFIABLE”的堆栈帧上(Xcode可能会自动选择包含符号的最后一帧,因此您可能需要不过滤调试导航器,单击以选择该帧)。此函数的第一个参数应该是具有不可满足约束的视图。希望这会给你足够的线索继续。