【发布时间】:2015-12-16 20:01:21
【问题描述】:
我花了很多时间试图自己解决这个问题,并且已经仔细检查了 SO 上的可用答案,但出现了同样的错误。所以这里是我已经排除的可能原因的列表:
- here 所示的框架没有问题。我创建了另一个具有相同框架集的项目,一切都很好
- 没有issue with SwiftyJSON,在测试项目中也可以正常工作
- 代码中没有突出显示编译问题
- 我使用比较工具浏览了两个不同的
project.pbxproj文件(来自我的原始项目和新的测试项目),发现项目设置的一些差异,都一样 - 我还比较了两个项目的构建命令选项,都一样
当我转到 Report Navigator 并查找每个未成功编译的文件时,我发现了一些奇怪的关联:任何使用 NSString 的某些 API 的文件都无法编译。为了证明这个假设,我找到了一些编译成功的文件,并在其中添加了以下代码行
let abc = NSString(string: "abc")
然后这个文件也停止编译。
所以对于某些文件,它说使用as NSString 转换String 类对象是无效的,在某处NSAttributedString/NSString 创建失败,在其他一些地方调用compare 或rangeOfString 是不正确的等等。但是当我将所有导致Segmentation fault 错误的代码复制粘贴到我的新项目时,它们编译成功
当然,该项目在一天前使用 Xcode 6 编译得很好
我不知道从哪里开始以及如何解决这些问题,任何帮助都会非常有用
UPD
我上传了无法编译的项目到GitHub
【问题讨论】:
-
let abc = NSString(string: "abc")单独编译(如果“Foundation”被导入)。您能否提供显示该问题的最少示例代码? – 在任何情况下,编译器分段错误都是错误,应报告给 Apple。 -
@MartinR 正如我已经提到的,如果我创建新项目,任何列出的问题都会消失,所有编译成功。这只发生在我最初在 Xcode 6 中创建的项目上
-
@MartinR 我清理了我的原始项目并上传到GitHub。请检查一下
-
对我来说这是一个包含测试数据数组的冗长函数,
标签: ios swift segmentation-fault xcode7