[英]iOS, Swift: “Unable to simultaneously satisfy constraints” in syslog
我的第一个iOS应用程序因启动时崩溃而被App Review团队拒绝。 我无法重现此崩溃。 该应用程序可以在我的物理iPad Mini和所有Xcode模拟器上正常运行。 另外,相同的构建和存档也通过了TestFlight内部测试。 到目前为止,我还无法表示他们发送给我的崩溃日志 。 但是,我确实在系统日志中找到了这个:
Aug 7 17:04:44 Michaels-MacBook-Pro-3 SpringBoard[1333]: Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x7fccfccd0300 UILabel:0x7fccfccc8510' '.leading == SPUISearchTableHeaderView:0x7fccfccc59f0.leadingMargin>",
"<NSLayoutConstraint:0x7fccfccd0f80 H:[UILabel:0x7fccfccc8510' ']-(NSSpace(8))-[UIButton:0x7fccfcccb710'Show More']>",
"<NSLayoutConstraint:0x7fccfccd0fd0 SPUISearchTableHeaderView:0x7fccfccc59f0.trailingMargin == UIButton:0x7fccfcccb710'Show More'.trailing>",
"<NSLayoutConstraint:0x7fccfccc8880 'UIView-Encapsulated-Layout-Width' H:[SPUISearchTableHeaderView:0x7fccfccc59f0(0)]>"
)
看来,这似乎与表格视图,标签和按钮有关。 我的应用程序基于标准的Master-Detail项目。 因此,其中只有一个表视图,即主视图,并且在该视图中,只有一个标签位于原型单元中。 有一次,我在原型单元中尝试了一个“显示”按钮,我怀疑上面第二到最后一行的“ Show More
”可能会产生挥之不去的效果。
在SPUISearchTableHeaderView
搜索,我在github中找到了这个 。 我注意到它确实增加了一些约束。 这些约束实际上包含文本moreButton
。
因此,我感觉自己可能正处于崩溃原因的轨道上:我认为这是以编程方式添加的一些约束,可能是我在实验中使用披露按钮遗留下来的约束。 但是我完全不确定如何从这里开始。 标签上没有明确的限制(请参见下面的屏幕截图),我认为从来没有。 任何帮助将不胜感激!
根据康斯坦丁(Konstantin)的以下建议,我尝试在标签上添加约束,但是唯一可用的约束是水平居中和垂直居中。 其他则变灰。 (请参见下面的屏幕快照。)当我尝试选择水平居中时,底部的“添加约束”按钮仍显示为灰色,因此无法添加它!
那是因为您的width = 0。
UIView-Encapsulated-Layout-Width' H:[SPUISearchTableHeaderView:0x7fccfccc59f0(0)]
当您错过“ Show More Button
留下的一些标签约束时,可能会发生
H:[UILabel:0x7fccfccc8510' ']-(NSSpace(8))-[UIButton:0x7fccfcccb710'Show More']>
验证这些标签是否有前置约束。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.