Xcode 13.4.1(13F100)
使用SwiftUI的项目在归档时失败,并抛出非常神秘的消息Bus error: 10
,无需进一步解释。
但调试时一切都很好。
经过对Build Settings项目的一些修改,特别是Debug和Release模式之间的差异,我将问题缩小到Optimization Level
附近。使用Optimize for Speed [-0]
(我的发行版配置)会抛出错误,但如果我将其更改为No Optimization [-0none]
,错误就会消失,我可以存档。
如何在不影响优化的情况下解决问题?
经过长时间的研究和阅读这个答案,我能够进一步缩小问题的范围。原来我有一个SwiftUI
EquatableView
,但没有属性。类似这样的东西:
不适用于优化
struct MyEquatableView: View, Equatable {
var body: some View {
// some content
}
static func == (lhs: Self, rhs: Self) -> Bool {
// some logic
}
}
我所要做的就是添加一个";伪属性";到我的View
:
与优化兼容
struct MyEquatableView: View, Equatable {
private let id = UUID() // dummy property
var body: some View {
// some content
}
static func == (lhs: Self, rhs: Self) -> Bool {
// some logic
}
}