【发布时间】:2015-10-30 12:59:26
【问题描述】:
我有以下代码。
class MyClass {
private var callbacks: [()->()] = []
func doIt(callback: (()->())?) {
if let callback = callback {
callbacks.append(callback)
}
// ... other code here
}
}
当我在发布中构建项目时,它显示以下错误:
由于信号而导致命令失败:中止陷阱:6
断言失败:(PAI2->use_empty() && "不应有任何用途"),函数 foldInverseReabstractionThunks,文件 /Library/Caches/com.apple.xbs/Sources/swiftlang/swiftlang-700.0.52.2/src/ swift/lib/SILPasses/SILCombinerVisitors.cpp,第 549 行。
在 SILFunction "@TFC11AddCallback7MyClass4doItfS0_FGSqFT_T__T" 上运行 SILFunctionTransform "SIL Combine" 时。
请注意,该错误仅出现在 Release 中,并且仅出现在 Xcode 7 beta 5 中。该代码在 Xcode 7 beta 4 中有效。
演示:https://github.com/exchangegroup/add-callback-demo-ios
看起来像 Swift 中的一个错误?向 Apple 提交了错误报告。
更新
该问题已在 Xcode 7.0 beta 6 (7A192o) 中得到解决。
【问题讨论】:
-
AFAIK Xcode 7 Beta 5 中有几个(新)错误。 El Capitan 已经有一个(官方的)解决方法来让它运行。很快就会发布下一个版本。
标签: xcode swift xcode7-beta5