由于信号命令失败:分段错误:11

时间:2014-10-24 23:11:39

标签: ios swift segmentation-fault

我收到了错误......

  

命令因信号失败:分段错误:11

...在尝试编译我的Swift应用程序时。我正在使用Xcode 6.1,尝试在iOS 8.1上构建iPhone 5。

我的代码

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var username: UITextField!
    @IBAction func signIn(sender: AnyObject) {

        PFUser.logInWithUsernameInBackground(username.text, password:"mypass") {
            (user: PFUser!, error: NSError!) -> Void in
            if user != nil {
                println("Logged In")
            } else {

                func myMethod() {
                    var user = PFUser()
                    user.username = username.text
                    user.password = " "
                    user.signUpInBackgroundWithBlock {
                        (succeeded: Bool!, error: NSError!) -> Void in
                        if error == nil {
                            // Hooray! Let them use the app now.
                        } else {
                                println("Signed Up")
                        }
                    }
                }

             println(error)
            }
        }
    }
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        Parse.setApplicationId("key here")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

错误文字!

CompileSwift normal arm64 /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift
    cd /Users/Alec/Desktop/Re-Chat/Re-Chat
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/AppDelegate.swift -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -target-cpu cyclone -target-abi darwinpcs -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat -g -import-objc-header /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/Re-Chat-Bridging-Header.h -module-cache-path /Users/Alec/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-generated-files.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-own-target-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-all-target-headers.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-project-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources/arm64 -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources -Xcc -DDEBUG=1 -emit-module-doc-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftdoc -Onone -module-name Re_Chat -emit-module-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.dia -emit-dependencies-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.d -o /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.o
0  swift                    0x0000000108145a68 llvm::sys::PrintStackTrace(__sFILE*) + 40
1  swift                    0x0000000108145f54 SignalHandler(int) + 452
2  libsystem_platform.dylib 0x00007fff86631f1a _sigtramp + 26
3  libsystem_platform.dylib 0x00007fd0ac1eb010 _sigtramp + 633049360
4  swift                    0x00000001075d4517 swift::Lowering::SILGenFunction::emitClosureValue(swift::SILLocation, swift::SILDeclRef, llvm::ArrayRef<swift::Substitution>, swift::AnyFunctionRef) + 1303
5  swift                    0x00000001075c599e swift::Lowering::SILGenFunction::visitFuncDecl(swift::FuncDecl*) + 190
6  swift                    0x000000010760987c swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 380
7  swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
8  swift                    0x000000010760a0a5 swift::Lowering::SILGenFunction::visitIfStmt(swift::IfStmt*) + 757
9  swift                    0x000000010760c8f6 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 166
10 swift                    0x00000001076097e8 swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 232
11 swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
12 swift                    0x00000001075d52dd swift::Lowering::SILGenFunction::emitClosure(swift::AbstractClosureExpr*) + 205
13 swift                    0x00000001075b4234 swift::Lowering::SILGenModule::emitClosure(swift::AbstractClosureExpr*) + 196
14 swift                    0x00000001075eef71 (anonymous namespace)::RValueEmitter::visitAbstractClosureExpr(swift::AbstractClosureExpr*, swift::Lowering::SGFContext) + 97
15 swift                    0x00000001075e1866 swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 2870
16 swift                    0x00000001075e24da swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 6058
17 swift                    0x00000001075cfa0b swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*) + 235
18 swift                    0x00000001075ae824 swift::Lowering::RValueSource::materialize(swift::Lowering::SILGenFunction&) && + 196
19 swift                    0x0000000107604a69 swift::Lowering::RValueSource::materialize(swift::Lowering::SILGenFunction&, swift::Lowering::AbstractionPattern, swift::SILType) && + 233
20 swift                    0x00000001075f371c swift::Lowering::SILGenFunction::emitInjectOptionalValueInto(swift::SILLocation, swift::Lowering::RValueSource&&, swift::SILValue, swift::Lowering::TypeLowering const&) + 268
21 swift                    0x00000001075e9b8d swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 36445
22 swift                    0x00000001075e3e2b swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 12539
23 swift                    0x00000001075e202b swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 4859
24 swift                    0x00000001075cfab6 swift::Lowering::SILGenFunction::emitRValue(swift::Expr*, swift::Lowering::SGFContext) + 22
25 swift                    0x00000001075bffc4 (anonymous namespace)::ArgEmitter::emitExpanded(swift::Lowering::RValueSource&&, swift::Lowering::AbstractionPattern) + 836
26 swift                    0x00000001075bf582 (anonymous namespace)::ArgEmitter::emit(swift::Lowering::RValueSource&&, swift::Lowering::AbstractionPattern) + 98
27 swift                    0x00000001075b7ff8 (anonymous namespace)::CallEmission::apply(swift::Lowering::SGFContext) + 1128
28 swift                    0x00000001075b751a swift::Lowering::SILGenFunction::emitApplyExpr(swift::ApplyExpr*, swift::Lowering::SGFContext) + 58
29 swift                    0x00000001075e0d81 swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 81
30 swift                    0x00000001075ea00d swift::Lowering::SILGenFunction::emitIgnoredExpr(swift::Expr*) + 237
31 swift                    0x0000000107609829 swift::Lowering::SILGenFunction::visitBraceStmt(swift::BraceStmt*) + 297
32 swift                    0x000000010760c8e8 swift::ASTVisitor<swift::Lowering::SILGenFunction, void, void, void, void, void, void>::visit(swift::Stmt*) + 152
33 swift                    0x00000001075d4ee0 swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) + 256
34 swift                    0x00000001075b3659 swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) + 233
35 swift                    0x00000001075cea93 swift::ASTVisitor<SILGenType, void, void, void, void, void, void>::visit(swift::Decl*) + 355
36 swift                    0x00000001075cd7eb SILGenType::emitType() + 203
37 swift                    0x00000001075c85ae swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 30
38 swift                    0x00000001075b555b swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 395
39 swift                    0x00000001075b581a swift::SILModule::constructSIL(swift::Module*, swift::SourceFile*, swift::Optional<unsigned int>) + 314
40 swift                    0x00000001075b5968 swift::performSILGeneration(swift::SourceFile&, swift::Optional<unsigned int>) + 72
41 swift                    0x000000010748be18 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 3432
42 swift                    0x000000010748996d main + 1677
43 libdyld.dylib            0x00007fff8aa4c5c9 start + 1
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/AppDelegate.swift -target arm64-apple-ios8.0 -Xllvm -aarch64-use-tbi -target-cpu cyclone -target-abi darwinpcs -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS8.1.sdk -I /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos -F /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat -g -import-objc-header /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/Re-Chat-Bridging-Header.h -module-cache-path /Users/Alec/Library/Developer/Xcode/DerivedData/ModuleCache -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-generated-files.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-own-target-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-all-target-headers.hmap -Xcc -iquote -Xcc /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Re-Chat-project-headers.hmap -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Products/Debug-iphoneos/include -Xcc -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources/arm64 -Xcc -I/Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/DerivedSources -Xcc -DDEBUG=1 -emit-module-doc-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftdoc -Onone -module-name Re_Chat -emit-module-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController~partial.swiftmodule -serialize-diagnostics-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.dia -emit-dependencies-path /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.d -o /Users/Alec/Library/Developer/Xcode/DerivedData/Re-Chat-awwdkmqavitiqkcdsphwnhzhzzfb/Build/Intermediates/Re-Chat.build/Debug-iphoneos/Re-Chat.build/Objects-normal/arm64/ViewController.o 
1.  While emitting SIL for 'signIn' at /Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift:14:15
2.  While silgen closureexpr SIL function @_TFFC7Re_Chat14ViewController6signInFS0_FPSs9AnyObject_T_U_FTGSQCSo6PFUser_GSQCSo7NSError__T_ for expression at [/Users/Alec/Desktop/Re-Chat/Re-Chat/Re-Chat/ViewController.swift:16:80 - line:45:9] RangeText="{
            (user: PFUser!, error: NSError!) -> Void in
            if user != nil {
                // Do stuff after successful login.

                println("Logged In")
            } else {

                func myMethod() {
                    var user = PFUser()
                    user.username = username.text
                    user.password = ""
                    // other fields can be set just like with PFObject


                    user.signUpInBackgroundWithBlock {
                        (succeeded: Bool!, error: NSError!) -> Void in
                        if error == nil {
                            // Hooray! Let them use the app now.
                        } else {
                                println("Signed Up")
                        }
                    }
                }


             println("error")
            }
        }"

57 个答案:

答案 0 :(得分:89)

当编译器对代码中发生的事情感到困惑时,您可能会收到此错误。我注意到你有很多看似嵌套在函数中的函数。您可以尝试一次评论其中一些,以查看错误是否消失。这样你就可以把问题区域归零。您不能使用断点,因为它是编译时错误,而不是运行时错误。

答案 1 :(得分:43)

我最近遇到了同样的问题,我将尝试概括我是如何解决它的,因为很多这些答案都是为了帮助每个人。

1。首先查看错误消息的底部,以识别导致分段错误的文件和函数。

Error message

2。然后我查看该功能并将所有内容注释掉。我编译了它现在工作了。然后我一次从函数的某些部分删除了注释,直到我找到了导致错误的行。在此之后,我能够修复它,一切正常。 :)

答案 2 :(得分:42)

对于遇到此问题的其他人...我发现问题是由导入自定义框架引起的,我不知道如何纠正它。但是,只需从框架中删除导入和引用项目的任何代码即可解决问题。

(╯°□°)╯(┻━┻

希望这可以拯救某人几个小时,追逐导致问题的那条线。

答案 3 :(得分:16)

对我来说,这是由Swift 2.0中 Parse SDK语法的变化引起的。如果您正在使用Parse并升级到Swift 2.0,则以下语法会更改:

Swift 1.2:

myPFQuery.findObjectsInBackgroundWithBlock({ (queryResults: [AnyObject]?, error: NSError?) -> Void in

    // CODE

})

Swift 2.0:

myPFQuery.findObjectsInBackgroundWithBlock { (queryResults: [PFObject]?, error: NSError?) -> Void in

    // CODE

}

删除第一个'('和最后')'是导致最大问题的原因。找我这个找到这个!

答案 4 :(得分:7)

object.doubleValue = dict["doublevalue"] as! Int

我在回滚每一步后找到了原因....强制转换为Int为双变量

答案 5 :(得分:7)

我遇到了这个错误。经过一番挫折之后,我尝试了Xcode干净,一切都开始了。把这个留在这里以备将来参考。

答案 6 :(得分:7)

当我从Swift转换为Swift 2.0时出现此错误时,它清楚地表明存在问题的特定文件(blahClass.swift),然后它概述了所有警告&amp;错误消息文本中的错误。我通过手动解决了这些问题,现在应用程序编译得很好。

答案 7 :(得分:6)

对我而言,这是由我的一些代码引起的。 XCode中详细的编译器输出实际上指出了它崩溃的方法。

然后我注释掉了方法中的所有代码,使它返回nil,并且它确实编译了。然后我使用不同且更简单的代码重新实现了该方法,并且它起作用了。

我向Apple提交了一份错误报告。这是 - 无可否认有点疯狂 - 导致XCode 7 / Swift 2.0崩溃的代码。

  func numberAndTitleFromDirectoryName(dirName: String) -> (Int, String)? {
    let components = dirName.characters.split(maxSplit: 1, allowEmptySlices: false) { $0 == " " }.map { String($0) }.map { String($0) }
    if let number = components.first?.toInt() {
        if let title = components.last {
            return (number, title)
        }
    }
    return nil;
  }

我想我在那里使用地图功能有点过于兴奋......新版本更简单,更易于理解。编译器仍然不应该崩溃。在最坏的情况下,它应该显示一些错代码在Swift 1.x中运行

答案 8 :(得分:4)

我在Xcode 7.3和iOS 9.3中遇到了类似的问题。 的 Command failed due to signal: Segmentation fault: 11

Screenshot

基本步骤,例如Clean(cmd + shift + k)代码,删除派生数据和退出Xcode都不起作用。

我的代码中有一些罪魁祸首。

[txtUserName.text.characters.count = 0]

在您的情况下查看您的代码并修复罪魁祸首。

答案 9 :(得分:3)

如果使用git,可以轻松修复。

1)在终端:

git stash

2) Seg错误消失。

3)运行该应用。

4)在终端:

git stash pop

5) Xcode现在告诉你真正的问题。

答案 10 :(得分:3)

其中一种情况是,您已将getter变量的数据类型命名为其名称。 例如:

var someInstance: someInstance {...

更新#1。 注意不是Int的 _a 变量,你忘记指向正确的返回类型。问题发生在两个以上的中缀运算符操作数中。

function getInt(value: Int) -> Int {
    return _a? ?? _b?.count ?? 0
}

答案 11 :(得分:3)

任何崩溃都是编译器错误(无论您的代码是否有效)。尝试最新的测试版,如果它仍然崩溃,请在bugs.swift.org处提交错误报告。 Swift团队对此非常敏感。

答案 12 :(得分:2)

我正在使用Xcode 8.3 / Swift 3

我使用@Ron B.的答案来完成所有代码并注释掉不同的函数,直到我成功构建。结果是async trailing closures导致了我的错误:

我的尾随关闭:

let firstTask = DispatchWorkItem{
     //self.doSomthing()
}
let secondTask = DispatchWorkItem{
     //self.doSomthingElse()
}

//trailing closure #1
DispatchQueue.main.asyncAfter(deadline: .now() + 10){firstTask}

//trailing closure #2 
DispatchQueue.main.asyncAfter(deadline: .now() + 20){secondTask}

使用自动填充语法后 Segmentation fault: 11  消失

//autocomplete syntax closure #1
DispatchQueue.main.asyncAfter(deadline: .now() + 10, execute: firstTask)

//autocomplete syntax closure #2
DispatchQueue.main.asyncAfter(deadline: .now() + 20, execute: secondTask)

答案 13 :(得分:2)

enter image description here

我有同样的问题所以我尝试将优化级别切换为快速,单文件优化[-O] 而不是快速,整个模块优化然后它工作,构建,存档到Appstore成功。

我认为,我们使用的一些框架需要重构以适应快速,整体模块优化级别。 但我仍然没有找到那些框架。

答案 14 :(得分:2)

我通过以下方式摆脱了这个错误。

我在“Link Binary With Libraries”中添加了许多框架,并且还使用了桥接标题。

我重新添加了所有框架并再次添加了桥接标头。这解决了我的问题。

答案 15 :(得分:1)

在我的情况下,它是由于尝试使用一个函数返回一个NSNumber作为一个参数,其中Double是预期的。我的建议是小心地将Objective C对象与Swift数据类型混合在一起。正如许多其他人所建议的那样,在你确定哪一个导致错误之前注释掉直线。 (即使您在执行此操作时创建了其他错误,也可以忽略它们并查看导致分段错误错误的原因。)

答案 16 :(得分:1)

这些答案都不适合我,但我发现了我的问题。它与Error Handling(在“禁用错误传播”部分中)有关。我有这个方法:

func getSlider() throws -> UISlider {
  ... // code that could throw an error
  return UISlider()
}

像这样引用它:

func anotherMethod() -> Float {
  return try! getSlider().value
}

给出了错误。但是,当切换到这个时,它就消失了:

func anotherMethod() -> Float {
  return (try! getSlider()).value
}

答案 17 :(得分:1)

仔细阅读调试信息。

在我的情况下,我遇到了这个错误,因为我使用了一个&#39; =&#39;而不是双重&#39; =&#39; if语句中的错误。

if aString.characters.count = 2 {...}

答案 18 :(得分:1)

我也遇到了这个问题....很明显,这是一般错误或排序...当xcode混淆....在我的情况下,我有3个vars我从一个分配值来自数组....但是我没有在数组的每个元素中指定数据的类型....一旦我这样做,就解决了问题....

答案 19 :(得分:1)

在我的情况下,我在我的一个ViewControllers子类中声明了以下属性:

@property NSString * title

我认为这与title中现有的ViewController属性存在冲突。我将此属性重命名为其他内容并重构其使用,错误消失。

答案 20 :(得分:1)

人为错误报告:

就我而言,罪魁祸首是在一个可变参数的位置传入一个数组。也就是说,签名:

// Note the variadic parameter
func addSubview(subview subview: UIView, constrain: NSLayoutAttribute...)

我通过了:

// Compile-time error, "constrain" parameters have array brackets
someUIView.addSubview(subview: someOtherView, constrain: [.Leading, .Top, .Bottom, .Trailing])

而不是:

// Correct
someUIView.addSubview(subview: someOtherView, constrain: .Leading, .Top, .Bottom, .Trailing)

答案 21 :(得分:1)

如果您使用的是多个版本的XCode,如果您的路径发生了变化,很容易发生此错误(例如,您已将DMG下载到桌面,已解压缩,但随后将XCode移至应用程序)。仔细阅读在XCode中给你的Segmentation Fault 11错误,它可能会引用你的旧路径,这是造成Segmentation Fault的原因。如果是,您可以通过以下任一方式修复它:

  1. xcode - 选择正确的路径。例如。 sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer/(显然在这里输入正确的路径)
  2. 安装第二版XCode时,请确保将其解压缩到最终路径(提取到应用程序本身),并且当您执行此操作时,“XCode.app”尚不存在(如果存在,则重命名前一个) 。安装完成后,您可以根据需要重命名。
  3. 此问题的另一个可能的解决方法:

    升级后从El Capitan升级到Sierra,并在升级后启动Xcode时“安装额外的组件”,这是第一次发生这种情况时修复它。

答案 22 :(得分:1)

对我来说,我阻止了主线程。

我用GCD修复它(见下文)

dispatch_async(dispatch_get_main_queue(),      
})

答案 23 :(得分:1)

我使用Xcode Bots在我的Mac Mini上出现了分段错误。 seg故障仅在测试的构建步骤期间发生,而不是在本地构建或运行期间发生。仅在测试的构建步骤中使用Xcode机器人。

我正在使用macOS Sierra和Xcode 8,代码转换为Swift 2.3。

我终于找到导致seg故障的线路,它是由:

引起的
public let isIpad = UIDevice.currentDevice().userInterfaceIdiom == .Pad

在类之外声明为常量。更改它以在运行时检查userInterfaceIdiom修复了问题。

希望这有助于其他人!

这是我的seg错误的错误日志:

0  swift                    0x000000010f93d76b llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 43
1  swift                    0x000000010f93ca56 llvm::sys::RunSignalHandlers() + 70
2  swift                    0x000000010f93ddbf SignalHandler(int) + 287
3  libsystem_platform.dylib 0x00007fffb24aabba _sigtramp + 26
4  libsystem_platform.dylib 0x00007fbbfff49ae0 _sigtramp + 1302982464
5  swift                    0x000000010db79996 (anonymous namespace)::Traversal::visit(swift::Expr*) + 118
6  swift                    0x000000010db7b880 (anonymous namespace)::Traversal::visitApplyExpr(swift::ApplyExpr*) + 128
7  swift                    0x000000010db799eb (anonymous namespace)::Traversal::visit(swift::Expr*) + 203
8  swift                    0x000000010db78f45 swift::Expr::walk(swift::ASTWalker&) + 53
9  swift                    0x000000010d6d2c87 walkForProfiling(swift::AbstractFunctionDecl*, swift::ASTWalker&) + 231
10 swift                    0x000000010d6d2719 swift::Lowering::SILGenProfiling::assignRegionCounters(swift::AbstractFunctionDecl*) + 553
11 swift                    0x000000010d6de348 (anonymous namespace)::SILGenType::emitType() + 952
12 swift                    0x000000010d6ddf1e swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 30
13 swift                    0x000000010d6625eb swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 731
14 swift                    0x000000010d663139 swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, swift::FileUnit*, llvm::Optional<unsigned int>, bool, bool) + 793
15 swift                    0x000000010d6635a3 swift::performSILGeneration(swift::FileUnit&, swift::SILOptions&, llvm::Optional<unsigned int>, bool) + 115
16 swift                    0x000000010d491c18 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&) + 12536
17 swift                    0x000000010d48dc79 frontend_main(llvm::ArrayRef<char const*>, char const*, void*) + 2777
18 swift                    0x000000010d489765 main + 1957
19 libdyld.dylib            0x00007fffb229e255 start + 1

答案 24 :(得分:1)

当您的开发目标不支持任何UIControl

就我而言,我在开发目标为StackView的项目中使用8.0。 如果您的开发目标不支持任何UIControl,则会发生此错误。

设置错误的目标时

如果您保留默认目标&#34;目标&#34;在下面一行而不是自我,然后发生分段故障11。

shareBtn.addTarget(self, action: #selector(ViewController.share(_:)), for: .touchUpInside)

答案 25 :(得分:1)

我的代码中有这一行

weakSelf?.notifications = weakSelf?.notifications ?? [] + weakSelf?.chatNotificationDataSource ?? []

这会导致分段错误。 但后来我用这种方式改变了它:

weakSelf?.notifications = (weakSelf?.notifications ?? []) + (weakSelf?.chatNotificationDataSource ?? [])

和应用程序开始工作。

答案 26 :(得分:1)

我也遇到了Segmentation fault: 11 error,因为我正在调用一个返回Any object的方法,编译器很难理解正在使用的对象类型。

Any object投射到我正在使用的所需类型,解决了我的问题。

答案 27 :(得分:1)

当我覆盖子类中的属性时,我收到此错误,并且我没有完全重复该属性的声明。

基类:

var foo: String! {return nil}

子类:

override var foo: String {return "bar"} // missing the implicit unwrap operator

答案 28 :(得分:1)

我还有一段时间也在努力。我用Xcode 7.2将代码升级到Swift 2,对我来说问题是:

self.mainScrollView.documentView!.subviews.reverse() as! [MainSubView]

我必须改为:

(self.mainScrollView.documentView!.subviews as! [MainSubView]).reverse()

答案 29 :(得分:1)

在我的情况下,原因是在扩展中的另一个类中声明了一个类。

extension classOrig {
    class classChild {
        class classGrandChild {
            static let aVariable : String = "SomeValue";
        }
    }
}

这在我身边产生了错误。我的项目中有几个框架,但之前没有发生过。

答案 30 :(得分:1)

在尝试构建发布方案时,我有了代码11。它指出了一个viewcontroller类(swift)里面有这段代码:

 required init(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    stuff...
}

问题在于,当我向其添加超类时,我忘了也实现init。这样super.init导致编译错误Segmentation fault:11 因此,如果您遇到此类问题,最好还要检查任何超类。

答案 31 :(得分:1)

当我导入自己制作的框架时,我也有了Segmentation Fault 11(是的,感觉真的很蠢)。

在开发框架数月并将其集成到具有混合Obj-C和Swift的主项目之后,导入Obj-C是没有问题的,但是只要我在Swift中编写import MySwiftProject,一切都崩溃了。

长话短说,问题是我创建了一些自定义方法,为NSNotifications使用闭包提供了代表性,例如:

func post(a : Int, b : String)
{
    NSNotificationCenter.defaultCenter().postNotification("notification", object: nil, userInfo: ["a" : a, "b" : b])
}

func observe(block : (a : Int, b : String) -> ()) -> NSObjectProtocol
{
    return  NSNotificationCenter.defaultCenter().addObserverForName("notification", object: nil, queue: nil)
    {
        (n : NSNotification!) -> () in

        // Unwrap the notification payload and provide types
        if let a = n.userInfo?["a"] as? Int, let b = n.userInfo?["b"] as? String
        {
            block(a, b)
        }
    }
}

(实际上,上面的代码我用模板做了,但这是另一个故事)

主要罪魁祸首?这样:

func ... -> NSObjectProtocol

显然,Apple可以在NSObjectProtocol方法的声明中使用NSNotification,但是当我这样做时,它会引入Segfault 11。将NSObjectProtocol替换为AnyObject解决了崩溃问题。

不幸的是,这可能无法解决您的问题,因为segfault 11只是编译器的一般崩溃,但您可以采取措施解决它。我花了大约2个小时,但这就是我所做的:

  1. 创建一个新项目,复制您拥有的结构。在我的例子中,我创建了一个单一的视图控制器swift项目,并在另一个项目中添加了一个swift框架。
  2. 将所有原始代码从一个复制到另一个。
  3. 进入编译阶段,开始删除要编译的文件,尝试禁用非常快速的代码(如我的NSNotification典型代码)。
  4. 每次进行更改时,请执行清理( + K ),构建( + B )并修正所有错误。
  5. 从3开始重复,直到分段故障消失。

答案 32 :(得分:1)

对我而言,因为我有两个同名的包。

答案 33 :(得分:0)

请注意那些可能和我一样处于同样情况的人,因为这花了我很多时间来解决...

我在Xcode中使用查找/替换功能后遇到此错误。问题是由于我的疏忽(即不仅替换相关部分而且替换冗余部分),某些字符“过度替换”,因此一些变量变为未定义的变量。尽管如此,这些未定义的变量并未在编译中捕获(即使在创建clean之后),最后在屏幕上显示信号分段错误。

答案 34 :(得分:0)

我试图在我的代码中寻找所有答案,在其他开发人员的 PC 中成功构建了相同的 repo。但不是在我的:(

我花了将近一周的时间来修复它。我做了所有可能的检查组合,比如删除派生数据、关闭 xcode、重启电脑、git stash、重置它们都没有帮助。 然后我复制了在 Xcode 中失败的构建命令并在终端中运行它。 它失败了。多显示一行

(end of response file)
clang: error: unable to execute command: Segmentation fault: 11
clang: error: linker command failed due to signal (use -v to see invocation)

构建命令超过 76K 个字符 所以我删除了一些不是强制性的参数,并能够在终端中进一步进行。

所以我为解决这个问题所做的是从 ~/Desktop/Work/PROJECT_NAME/repo/ssh/AAA~/Desktop/repo/ 并解决了问题

长话短说,把 repo 靠近 ~/ 这样,如果你像我一样面对这种情况,路径就会变少。 我的 Xcode 版本 12.3

答案 35 :(得分:0)

对我来说,这是因为传递了 [String : Int] 而不是 [String : Any]check this image

答案 36 :(得分:0)

在我的情况下,我忘记了在源代码中删除“ colorLiteral”(未分配给任何属性或未作为方法参数传递),这就是编译器无法编译所有swift文件的原因。我刚刚删除了“ colorLiteral”,并且按预期工作正常。

答案 37 :(得分:0)

就我而言,这是在使用Swift 5并使用SwiftUI的Xcode 11 beta 3中发生的。

我的视图具有这样的@State属性:

 @State private var normInfo: NormInfo?

通过使用nil进行显式初始化解决了该问题。

答案 38 :(得分:0)

当我尝试从单例内的“静态范围”(包含枚举中从未实例化的常量)中访问“单例”结构实例的属性时出现此错误

答案 39 :(得分:0)

在我的例子中,我试图使用可以在其所有子类上工作的辅助方法扩展CoreData类:

extension ExampleCoreDataClass {
   static func insert() -> Self {
   ...

我没有得到关于此的警告,但是当我尝试编译它时,出现了分段错误。

经过一段时间的努力后,我使用了协议扩展,这解决了错误:

extension NSFetchRequestResult where Self: ExampleCoreDataClass {
   static func insert() -> Self {
   ...

答案 40 :(得分:0)

这是一个简单的解决方案

只需按cmd + shift + k

我的问题解决了清理项目

答案 41 :(得分:0)

在从Swift 2.0移植到1.2时,我实际上搞砸了Core Data实体(不要问为什么) 我删除了所有实体类并再次重新创建它们。我收到了很多错误消息,当我修复它们时,所有项目都成功构建。

答案 42 :(得分:0)

由于信号命令失败后会出现一个文件名:Segmentation fault:11。至少在我的情况下它是。随着Swift升级到2.0,一些核心属性变为可选。如果不妥善处理它,就会抛出这个错误。处理可选井解除了错误。在我的情况下,这是由于没有处理:

        if let scheduledNotifications = UIApplication.sharedApplication().scheduledLocalNotifications as [UILocalNotification]?{
}  

祝你好运!

答案 43 :(得分:0)

我在为测试构建时遇到了这个问题。 Build to Run工作正常。 Xcode 7 / Swift 2并不像变量初始化的方式那样。这段代码在Xcode 6.4中运行良好。这是导致seg错误的一行:

var lineWidth: CGFloat = (UIScreen.mainScreen().scale == 1.0) ? 1.0 : 0.5

将其改为此解决了问题:

var lineWidth: CGFloat {
    return (UIScreen.mainScreen().scale == 1.0) ? 1.0 : 0.5
}

答案 44 :(得分:0)

从NSUserDefaults获取值时出现此错误。以下是错误:

let arr = defaults.objectForKey("myArray")

修复错误的原因是将类型强制转换为存储在NSUserDefaults中的正确类型。以下没有错误:

let arr = defaults.objectForKey("myArray") as! Array<String>

答案 45 :(得分:0)

let属性中数组中的命名元组给了我seg错误问题。

答案 46 :(得分:0)

当我的代码中存在一些嵌套函数时,这发生在我身上 其中一个嵌套函数正在调用另一个嵌套函数。

我刚刚删除了嵌套函数之间的链接,这个问题已修复。

感谢@Ron B的回答。

答案 47 :(得分:0)

我刚刚遇到这个问题并发现这是因为我不小心在一个函数上留下了override我已经从类转移到了一个协议(因此子类不再覆盖了一个函数亲本)。

答案 48 :(得分:0)

我在尝试在Swift 2中定义新的OptionSetType结构时遇到此错误。当我将init()参数的类型从Self.RawValue更正为Int时崩溃停止发生:

// bad:
//  public init(rawValue: Self.RawValue) {
//      self.rawValue = rawValue
//  }

// good:
public init(rawValue: Int) {
    self.rawValue = rawValue
}

答案 49 :(得分:0)

在我的情况下,我有几个方法的实例采用这样的签名闭包(注意可选字典数组):

// 'results' being nil means "failure".
func queryItems(
    completion:( (results:[[String:AnyObject]]?)->(Void) )
    )
{
   // (async operation...)

...我开始重构:

// 'results' is NEVER nil (at most, empty). Pass any errors to the 
//   failure: closure instead.
func queryItems(
    success:( (results:[[String:AnyObject]])->(Void) ),
    failure:( (error:NSError) -> (Void) )
    )
{
   // (async operation...)

...但是没有完成,所以有些方法期望一个带有可选参数的闭包,并且传递一个非可选参数(或者反之?),我猜编译器失去了跟踪。

答案 50 :(得分:0)

我第一次尝试使用Realm.io时遇到了同样的问题。出错的原因是我将目标命名为Realm并导致命名空间冲突。在我将项目和目标名称更改为其他内容后,问题已得到解决,如this issue所述。

我的建议是检查类似的命名空间冲突。

答案 51 :(得分:0)

对我来说,当我在一个从类init方法调用的方法的completionHandler中意外调用“super.init()”时弹出了。

init() {        
        someFunction(argument, completionHandler: { (data) -> () in
            super.init()
...
}

而不是

init() {    
        super.init()
        someFunction(argument, completionHandler: { (data) -> () in
        ...
}

答案 52 :(得分:0)

在我的案例中,Product Clean然后重新启动Xcode确实解决了这个问题......

答案 53 :(得分:-1)

就我而言,IGListKit将名为IGListSectionController的类重构为ListSectionController,而我已经有了一个名为ListSectionController的类。我使用了find和replace,并且不知道我有一个同名的类。

class ListSectionController : ListSectionController

我完整地阅读了错误消息,并得出结论当您有循环依赖时也会发生此错误。在任何评论中都没有提及,我希望这会有所帮助。

答案 54 :(得分:-1)

我有完全相同的问题,经过几个小时的调试后,我发现这是因为我使用.subscript()而不是[]之间访问下标。 XCode认为这是完全有效的,但在构建时会出现此分段错误错误。

答案 55 :(得分:-1)

发现这是在WKInterfaceController(即Watch应用程序)中使用三元语句时发生的!

答案 56 :(得分:-1)

我在CI构建中遇到了此错误,无法在本地重现。原来我使用的是我CI使用的不同版本的Xcode。