Xcode 编译因内部错误而失败

Posted

技术标签:

【中文标题】Xcode 编译因内部错误而失败【英文标题】:Xcode compile fails on internal error 【发布时间】:2016-03-01 16:01:47 【问题描述】:

我在编译以前工作的 xcode 项目时遇到问题。它只是说存在内部错误。我已经尝试清理项目和构建文件。下面列出了错误。知道如何解决这个问题吗?我已经尝试过 xcode 7.2 和 7.2.1。

Base.lproj/Main.storyboard:错误:内部错误。请在 bugreport.apple.com 提交错误并附上“/var/folders/tc/_8l_rs9n055_0zqdny0k89nr0000gp/T/IB-agent-diagnostics_2016-03-01_09-46-22_280000”。

它显示我得到的错误如下。我如何找到它所指的视图? 异常名称:NSInvalidArgumentException 异常原因:无法解析约束格式: 无法解释“|”字符,因为相关视图没有超级视图 H:|[自己]

【问题讨论】:

您应该发布 /var/folders/tc/_8l_rs9n055_0zqdny0k89nr0000gp/T/IB-agent-diagnostics_2016-03-01_09-46-22_280000 的内容。这是获得更多信息的唯一途径。尝试打开终端窗口并输入命令:cp /var/folders/tc/_8l_rs9n055_0zqdny0k89nr0000gp/T/IB-agent-diagnostics_2016-03-01_09-46-22_280000 ~/Desktop/diag.txt 它将在您的桌面上显示为diag.txt,并将在 TextEdit 中打开。 该错误与自动布局有关。其中一个约束的格式无效 【参考方案1】:

我的猜测是您正在使用视觉约束语言来约束视图。

错误提示

无法解析约束格式:无法解释“|”字符,因为相关视图没有父视图 H:|[self]

这意味着您在实际将视图添加到其父视图之前应用了这些约束(约束试图引用父视图边缘(管道| 符号)),因为您正在尝试的视图不存在应用约束尚未添加到其超级视图。

所以这里有一个可能导致问题的场景:

let view = UIView()
let subview = UIView()
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("|[v]|"))

以及如何解决:

let view = UIView()
let subview = UIView()
view.addSubview(subview) // you have to add it to the superview before applying constraints
view.addConstraints(NSLayoutConstraint.constraintsWithVisualFormat("|[v]|"))

【讨论】:

以上是关于Xcode 编译因内部错误而失败的主要内容,如果未能解决你的问题,请参考以下文章

Vertex AI 模型批量预测因内部错误而失败

来自 docker 容器内部的 systemctl 因 D-Bus 连接错误而失败

IntelliJ IDEA告诉我“错误:java:编译失败:内部java编译器错误想法”

Openfire 连接因内部错误而关闭

内部服务器错误 Xcode 持续集成

OSX Server Xcode CI 服务意外的内部服务器错误