【发布时间】:2016-08-08 05:43:47
【问题描述】:
我的第一个 iOS 应用被 App Review 团队拒绝,因为它在启动时崩溃了。我无法重现此崩溃。该应用程序在我的物理 iPad Mini 和所有 Xcode 模拟器上运行良好。此外,相同的构建和存档通过了 TestFlight 内部测试。到目前为止,我有not been able to symbolicate the crash logs 他们发给我。但是,我确实在 syslog 中找到了这个:
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 项目。所以里面只有一个table view,master,那个view里面只有一个label,就是prototype cell。有一次,我在原型单元格中尝试了一个披露按钮,我怀疑上面倒数第二行的Show More 可能是一个挥之不去的影响。
在 SPUISearchTableHeaderView 上搜索,我在 github 中找到了 this。我注意到它确实增加了一些约束。而这些约束实际上包含文本moreButton。
所以我觉得我可能正在寻找导致崩溃的原因:我认为这是以编程方式添加的一些约束,可能是我对披露按钮的实验遗留下来的。但我完全不确定如何从这里开始。标签上没有明确的限制(见下面的屏幕截图),我认为从来没有。任何帮助将不胜感激!
根据下面 Konstantin 的建议,我尝试为标签添加约束,但唯一可用的是水平和垂直居中。其他为灰色。 (见下面的截图。)当我尝试选择水平居中时,底部的添加约束按钮仍然是灰色的,所以我不能添加它!
【问题讨论】:
-
NSLayoutConstraint:0x7fccfccd0300 UILabel:0x7fccfccc8510'UILabel 约束是什么? -
我不确定您是否找对了地方...此警告通常会在 AutoLayout 尝试为您修复布局时显示。关于模棱两可的布局。但该应用程序通常不会崩溃。你有完整的堆栈跟踪吗?
标签: ios swift xcode crash constraints