升级到 xcode beta 6 后,编译突然在我身上神秘地爆炸。我没有收到任何类型的内联消息,只有构建日志中的这个错误。
Undefined symbols for architecture i386:
"__TFSs15_arrayForceCastU___FGSaQ__GSaQ0__", referenced from:
__TFC9MyProj6NavBar5stackfS0_FCSo20CDVInvokedUrlCommandT_ in NavBar.o
我设法将其追溯到这行代码,它在 beta 5 上运行良好。
// A dictionary of String keys and arrays of NavBarItem instances as values.
var stacks: [String:[NavBarItem]] = [:]
func stack(cmd: CDVInvokedUrlCommand) {
let stackName: String = cmd.arguments[0] as String
if let stack = stacks[stackName] {
// When I comment this line out I get a clean compile.
navBar.setItems(stack, animated: false)
}
}
我唯一的猜测是它不喜欢以某种方式从 swift 数组转换为 NSArray
。有什么想法吗?
最佳答案
即使是新版本的 Beta6 在坏版本被删除数小时后发布,我也遇到了这个错误。
Beta 6 中有一些重大变化,看起来 Xcode 变得困惑了。完全清理也不起作用。
我通过删除 Derived 文件夹的内容解决了这个错误和其他类似的难以辨认的错误。您可以转到“首选项”>“位置”找到该文件夹的位置。
默认路径是:/Users/[你的用户名]/Library/Developer/Xcode/DerivedData
关于swift - 在 Swift XCode beta 6 中突然出现编译器崩溃 "arrayForceCast",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25373437/