2016-09-15 93 views
9

我有一个新的Xcode 8(无测试版)和swift3的奇怪问题。Xcode 8随机命令由于信号分段故障而失败11

每隔一次3-4次,我编译我的代码,我得到'命令失败,由于信号分段错误11'错误。我只需输入新的空行,或者有时更改一些空格,或添加注释(代码中的任何地方),并且错误消失,我可以再次编译。 这真的很奇怪,因为我没有改变代码中的任何东西!有时候我可以编译并且工作,然后我不会改变任何东西,我会再次编译,并且我得到错误。 这真的很烦人!

我注意到这是因为我安装了几个'Firebase'荚(Firebase,Firebase/Auth等)。但我需要他们。

任何人有任何建议?

PS:我已将我的项目的启用位代码设置为没有尽可能多的解决方案,但没有。在错误消息中没有指示任何迅速的页面,该错误可以是,一个例子是:

  1. 尽管装填构件“CLASS_NAME”在
  2. 虽然解串“FUNC_NAME”(FuncDecl#42)

“FUNC_NAME”是这个:

public class func loginUser(fir_user: FIRUser) { 
    let user = SFUser() 
    user.email = fir_user.email 
    user.isLogged = true 
    try! sfRealm.write() { 
     sfRealm.add(user, update:true) 
    } 

    var userToAdd = [String:AnyObject]() 
    userToAdd["email"] = fir_user.email! as NSString 

    let ref=FIRDatabase.database().reference() 
    let usersRef = ref.child(childName) 
    usersRef.setValue([key:value]) 
} 

不过,正如我所说,我可以在另一个文件中输入一个空行,它编译!

感谢

+3

很高兴知道这种类型的错误在XCode8上依然存在...... :( –

+0

)如果你卸载那些pod,你还会得到错误信息(如果你编译3-4次)? – Qbyte

+1

@Andrea请发布解决方案找到答案,因为你的问题似乎已经解决。 –

回答

0

好吧,看来我已经找到了解决方案:它是用火力地堡和的CocoaPods一个问题,所以2个解决方案:

下载火力地堡,并导入到你的项目

我,相反,更新cocoapods到最后的版本,它的工作。升级的Firebase - 现在快速编译错误

+0

得到最新的xcode我得到这个错误,我从来没有使用过cocoapods(坏我?),所以虽然cocoapods的问题可能会导致此错误,但它可能发生在没有cocoapods的情况下。 –

0

在我的情况下,有一些类型检查问题深入编译器,所以编辑器没有给出错误的排水沟,但建设项目我得到信号设置错误11错误:

1. While type-checking 'GetStoreAPIRequestModel' at /Users/.../StoreAPIModel.swift:9:1 
2. While type-checking expression at [/Users/.../StoreAPIModel.swift:15:18 - line:15:31] RangeText="[Dictionary]()" 
3. While resolving type [Dictionary] at [/Users/.../StoreAPIModel.swift:15:18 - line:15:29] RangeText="[Dictionary]" 

所以我改变了我的代码:

var stores = [Dictionary]() { 
     willSet { 
      allStores.removeAll() 

      for model in newValue { 
       allStores.append(StoreAPIModel(dictionary: model as! Dictionary).getModel()) 
      } 
     } 
    } 

(更多描述性的词典):

var stores = [[String : Any]]() { 
     willSet { 
      allStores.removeAll() 

      for model in newValue { 
       allStores.append(StoreAPIModel(dictionary: model as [String : AnyObject]).getModel()) 
      } 
     } 
    } 
+0

构建失败后,您在哪里发现了您展示的1/2/3消息? –

0

这是棘手的问题。问题可以通过一行代码或语法来完成。我得到类似的错误,这是由于不正确的字典使用。我试图增加字典元素的值。

解决方案是对代码进行分类,详细的错误提供哪个模块有问题,所以请尝试评论部分代码,直到找到引起问题的行。

0

嗨,我曾与火力同样的问题,我的问题是,我是延长FIRStorageReferenceFIRDatabaseReference有的时候把它编译成功一段时间,我得到

command failed due to signal segmentation fault 11

,所以我删除的文件并执行其他方法方式,现在一切正常。

0

发生此问题时发生此问题。 (没有cocoapods。)我以为我已经让程序处于工作状态,但我错了。我正在编写一个简单的命令行程序。它的作用有点泛泛,所以我在程序的顶部定义了所有在let语句中使其特定的字符串,以便我有朝一日能够在不同的上下文中使用该程序。

既然这样工作得很好,我认为我会很聪明,并用字典数组的过滤器做同样的事情。我转身:

list.filter { $0["SearchStrings"] == nil } 

到:

let test = { $0["SearchStrings"] == nil } 
// ... 
list.filter(test) 

意味着继续对let工作,但我从来没有回去,并做到了。建筑给了我分段错误的错误。将test定义为函数解决了该问题。 (顺便说一句,我明白如何去除调用Array.filter上下文中的过滤功能,以及为什么这有效,但我不明白为什么我不能分配大括号表达式常数,且使用它作为这样的。)

2

我有同样的问题,我只是弄清楚,我使用的Xcode 8.1和项目的工作拷贝在Xcode 8.2.1,所以我刚刚重新安装的Xcode 8.2.1和问题解决了。希望其他人能通过这个获得帮助。

+0

我也尝试了intall xcode 8.2.1,当我刚打开它工作正常的项目,但编码几分钟后它开始显示这个错误,整个代码编辑器的字体变成黑色(我的意思是代码编辑器无法识别/确定那些syntex)。 – Vats

+0

@Vats嗯,我同意,但有些时候电脑重新启动或xcode重新启动工程的问题。但在替换之后我还没有面对这个问题。 – Ryuk

相关问题