无法在 Xcode 6.1 中存档正在工作的 6.0.1 Swift 项目/分段错误:11

Posted

技术标签:

【中文标题】无法在 Xcode 6.1 中存档正在工作的 6.0.1 Swift 项目/分段错误:11【英文标题】:Can't archive working 6.0.1 Swift project in Xcode 6.1 / Segmentation fault: 11 【发布时间】:2014-10-22 13:43:00 【问题描述】:

由于信号而导致命令失败:分段错误:11 在 [/Users/thedude/Documents/Repositories/MyProject/Data.swift:258:36 - line:258:56] RangeText="UILocalNotification()"

进行类型检查时

错误是指以下代码行。

var notification = UILocalNotification()
// also tried var notification:UILocalNotification = UILocalNotification()

该问题仅在归档(提交到存储)时出现。如果我注释掉那行代码,错误只会出现在其他随机位置,直到我最终有一个非常无用的项目。

这是注释掉前面提到的代码后出现的另一个示例。

var someDate:NSDate = self.datePicker.date

等等...真正奇怪的是这个项目在设备上编译和构建完全正常。这只发生在为 ARCHIVE 构建时。我已将 Swift 编译器优化级别 设置为 None 以查看这是否是无效的原因。

【问题讨论】:

【参考方案1】:

虽然这不是我希望的解决方案,但我确实发现如果我将 Swift 编译器优化级别设置为 Fastest, Unchecked [-Ounchecked] 我能够至少存档并提交我的构建。

我假设这是一个 Xcode 6.1(发行版)特定问题并已提交错误报告。

【讨论】:

+1 用于归档雷达。几年前我遇到了一个类似的编译器优化问题,而雷达正是促使修复的原因。【参考方案2】:

将您的部署目标更改为 8.1 为我解决了这个问题。我没有测试存档,但适用于模拟器。

【讨论】:

该问题仅在归档过程中出现,因此不适用。构建到设备上运行良好。 构建到设备对我来说也很好,但我在构建到模拟器时遇到了这个确切的问题。希望它可以帮助别人:) 在模拟器上也有同样的问题。将部署目标更新到最新的可用版本(现在是 8.2)对我有用。【参考方案3】:

我在 Xcode 6.1 上遇到了同样的问题。构建和运行 Swift 项目没有问题,归档导致错误:

Command failed due to signal: Segmentation fault: 11
1.  While type-checking <my Swift class>

将项目的部署目标从7.0 更改为7.1 解决了问题,现在可以归档应用了。

【讨论】:

以上是关于无法在 Xcode 6.1 中存档正在工作的 6.0.1 Swift 项目/分段错误:11的主要内容,如果未能解决你的问题,请参考以下文章

无法从 Xcode 6.1 安装 IPA

无法安装“iOS 6.1 模拟器”XCode 5

Xcode 6/iOS - 缺少存档和 Info.plist

CocoaLibSpotify 无法在 XCode 4.6 / iOS 6.1 中编译

startUpdatingLocation 不再在 XCode 6.1 中工作

无法让 RestKit 在 Xcode 4.6 中工作