分段故障:11 – Xcode 6.3

无法存档

我的应用程序在模拟器和多个设备上运行良好(Xcode 6.3.2,基于swift)。 但是当我尝试归档它时,我得到错误Command failed due to signal: Segmentation fault: 11

其他人面临同样的问题

运行Swift app时出现Segmentation Fault 11

“由于信号命令失败:分段错误:11” – 问题是什么?

由于信号命令失败:分段故障:11

根本原因?

但似乎每个人都有不同的理由得到错误..我无法理解我得到的错误信息。 发布如下,任何提示或技巧将不胜感激!

错误日志

 0 swift 0x0000000108e5d2b8 llvm::sys::PrintStackTrace(__sFILE*) + 40 1 swift 0x0000000108e5d794 SignalHandler(int) + 452 2 libsystem_platform.dylib 0x00007fff8897bf1a _sigtramp + 26 3 libsystem_platform.dylib 0x00007fff574b7b28 _sigtramp + 3467885608 4 swift 0x0000000108a053f2 swift::serialization::Serializer::writeCrossReference(swift::Decl const*) + 578 5 swift 0x0000000108a0e275 swift::serialization::Serializer::writeAllDeclsAndTypes() + 2181 6 swift 0x0000000108a0f2f8 swift::serialization::Serializer::writeAST(llvm::PointerUnion) + 2600 7 swift 0x0000000108a11960 swift::serialization::Serializer::writeToStream(llvm::raw_ostream&, llvm::PointerUnion, swift::SILModule const*, swift::SerializationOptions const&) + 144 8 swift 0x0000000108a12521 swift::serialize(llvm::PointerUnion, swift::SerializationOptions const&, swift::SILModule const*) + 321 9 swift 0x0000000108746c1a frontend_main(llvm::ArrayRef, char const*, void*) + 5514 10 swift 0x00000001087454e6 main + 1814 11 libdyld.dylib 0x00007fff8db235c9 start + 1 12 libdyld.dylib 0x0000000000000080 start + 1917700792 

解决了它。 问题是两件事:1)转换为Double 2)处理一个空数组

转换为双倍

var lat: Double? = d["lat"].doubleValue改变var lat: Double? = d["lat"].doubleValue var lat: Double? = d["lat"].doubleValuevar lat: Double? = Double(d["lat"].doubleValue) var lat: Double? = Double(d["lat"].doubleValue)

处理一个空数组

改变了

 let brands = d["brands_unfiltered"].arrayValue { if brands == [] { // Do nothing (empty) } else{ // Do stuff } 

 if let brands = d["brands_unfiltered"].arrayValue as Array! { // Do stuff } 

为了找到根本原因,我停用了大部分代码,直到找到了归档不起作用的内容。 此后,解决方案非常简单。 希望这可以帮助其他人在同样的错误中挣扎。

我发现导致我的“存档”操作的代码失败,出现此错误“命令因信号失败:分段错误:11”

当我在cellForRowAtIndexPath函数中使用indexPath时,我需要设置一个感叹号(即indexPath!而不是indexPath)。 但是,如果我省略感叹号,我仍然感到困惑的是为什么会出现这样的错误。 有谁知道原因?

  override func tableView(tableView: UITableView!, cellForRowAtIndexPath indexPath: NSIndexPath!, object: PFObject!) -> PFTableViewCell! { // code to get cell, etc let thumbnailImage = self.userPhotos?.getFromCacheOrDownload(username, circle: team.circle(), delegate: self, indexPath: indexPath!) cell.userPhotoImageView.image = thumbnailImage return cell }