我只是使用Xcode 7的迁移工具将一个项目从Swift 1.2迁移到2.修复了错过的错误等等,一切都很好,除了一个错误导致我甚至无法构建:命令因信号失败:非法指令4.
我已经尝试过这些文章中的帮助(Xcode 7和Swift 2.0:命令因信号失败:中止陷阱:6,命令因信号失败:中止陷阱:6)这些问题与我的问题不同,但它们仍然是无法解决问题.
我已清理构建并删除派生数据文件夹.我有最新的CocoaPods安装,Xcode工具是7.0,而我的Swift编译优化是无.还有什么我想念的吗?
谢谢!
因此,在同事的帮助下,找到了答案。我们在构建错误中找到了有问题的文件,但是没有提供任何行。通过消除过程,我们发现这是一行,它是从可选字典内部声明获取JSON字典([String:AnyObject],类型别名为JSONDictionary)的结果的新常量。这是一行:
let objectsDictionary = maybeJSON?[key] as? JSONDictionary
将其更改为两个警卫声明:
guard let goodJSON = maybeJSON as? JSONDictionary else { return ... }
guard let objectsDictionary = goodJSON[key] as? JSONDictionary else { return ... }
Run Code Online (Sandbox Code Playgroud)
该行在Xcode 6.3.2中起作用,因为它只是提供了一个可选值,但是由于某些原因,Xcode 7中的某些更改不喜欢这样做。我希望这可以帮助遇到此问题的任何其他人。
| 归档时间: |
|
| 查看次数: |
4655 次 |
| 最近记录: |