Polecenie nie powiodło się z powodu sygnału: Błąd segmentacji: 11

151

Otrzymuję błąd ...

Polecenie nie powiodło się z powodu sygnału: Błąd segmentacji: 11

... podczas próby skompilowania mojej aplikacji Swift. Używam Xcode 6.1, próbuję zbudować dla iPhone'a 5 na iOS 8.1.

Mój kod

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.
    }
}

A tekst błędu!

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")
            }
        }"
Alec.
źródło
Kod wyświetlany w błędzie i kod, który opublikowałeś są różne. Twój kod służy do logowania, kod błędu to metody rejestracji. Czy ustawiłeś punkt przerwania w zamknięciu, aby spróbować zidentyfikować problem?
Paulw11
Nie musisz tego zgadywać. Wpisz xcodebuild -verbosez terminala, gdzie znajduje się twój projekt, i zobacz dokładnie, na czym polega błąd, gdzie się znajduje itp.
oyalhi

Odpowiedzi:

44

Dla każdego, kto zetknie się z tym ... Odkryłem, że problem był spowodowany importem niestandardowego środowiska, nie mam pojęcia, jak to naprawić. Ale zwykłe usunięcie importu i wszelkich elementów odwołujących się do kodu ze struktury rozwiązuje problem.

(╯ ° □ °) ╯︵ ┻━┻

Mam nadzieję, że może to zaoszczędzić komuś kilka godzin na pogoni za linią powodującą problem.

Chris Wagner
źródło
1
Doświadczyłem tego samego problemu w Xcode 7. Tak naprawdę problem polegał na kilku linijkach kodu, które dodałem do mojego pliku Swift. Te wiersze wykorzystują składnik z biblioteki innej firmy. W moim przypadku to Eureka. Po usunięciu linii, które dodałem. Został zbudowany idealnie
Asanga Dewaguru
Usunąłem protokół i niektóre klasy nadal go używały. XCode powinien był je zaznaczyć, ale w moim przypadku tak się nie stało. Dzięki
harsh_v
3
Czy Eureka też była w moim przypadku, podczas aktualizacji do Xcode 7.3. Zmieniono na wersję 1.5 i zainstalowałem pod, a potem wszystko poszło dobrze.
Lyck
Zwracam tylko uwagę, że to nie zadziałało, dopóki nie wyczyściłem projektu (po wymianie niestandardowego środowiska / importu). Dziękuję za odpowiedź, z pewnością zaoszczędził mi trochę czasu.
AddisDev
1
Aktualizacja kapsuły i ponowna instalacja lib załatwiła
sprawę,
93

Możesz otrzymać ten błąd, gdy kompilator jest zbyt zdezorientowany co do tego, co dzieje się w kodzie. Zauważyłem, że masz wiele funkcji, które wydają się być zagnieżdżone w funkcjach. Możesz spróbować skomentować niektóre z nich naraz, aby sprawdzić, czy błąd zniknie. W ten sposób możesz skupić się na problematycznym obszarze. Nie możesz używać punktów przerwania, ponieważ jest to błąd czasu kompilacji, a nie błąd czasu wykonywania.

Ron B.
źródło
1
Dzięki, ale okazało się, że ma to coś wspólnego z architekturą. Dziwne, co?
Alec.
3
@ParanoidAndroid czy możesz szczegółowo opisać, jaki był problem? dostaję również ten problem
Alex
Ja też utknąłem na tym błędzie. Tworzyłem rozszerzenia z większej klasy i przenosiłem niektóre funkcje z dużej klasy do jej rozszerzenia. Utworzyłem kilka plików jako rozszerzenia, ale jak tylko utworzyłem czwarty, zacząłem otrzymywać ten błąd. #swiftisnotready .... grrr
C0D3
@ c0d3Junk13 Napotkałem też problem z rozszerzeniem, a jest to spowodowane tym, że nazwa funkcji jest taka sama jak nazwa klasy.
Zhenshan Yu
Dostałem to za brak określenia opcjonalnego parametru (drugi parametr), wydaje się, że operator trzeciorzędny, zanim myli Xcode 6.3 addPointforTeamAtPosition(command == extensionCommandTeam1Point ? 0 : 1, pointKind: .Regular).
Rivera
45

Niedawno napotkałem ten sam problem i spróbuję uogólnić, w jaki sposób go rozwiązałem, ponieważ wiele z tych odpowiedzi ma na celu pomóc wszystkim.

1. Najpierw spójrz na dolną część komunikatu o błędzie, aby zidentyfikować plik i funkcję, która powoduje błąd segmentacji.

Komunikat o błędzie

2. Następnie patrzę na tę funkcję i wszystko to wykomentowałem. Skompilowałem i teraz zadziałało. Następnie usuwałem komentarze z części funkcji naraz, aż trafiłem na linię, która była odpowiedzialna za błąd. Po tym udało mi się to naprawić i wszystko działa. :)

eivindml
źródło
2
Ostatnie kilka wierszy daje najlepsze wskazówki. Ta odpowiedź bardzo pomogła!
AppreciateIt
1
To powinna być akceptowana odpowiedź. Przyczyna błędu segmentacji może być różna i jest to właściwy sposób diagnozy.
Juan Carlos Ospina Gonzalez
16

Dla mnie było to spowodowane zmianą składni Parse SDK w Swift 2.0. Jeśli używasz analizy i uaktualniasz do Swift 2.0, następują zmiany składni:

Swift 1.2:

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

    // CODE

})

Swift 2.0:

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

    // CODE

}

Usunięcie pierwszego „(” i ostatniego „)” było tym, co powodowało największy problem. Zajęło mi to AGES, żeby to znaleźć!

AT3D
źródło
Jest to z pewnością winowajca, jednak Twój wiersz kodu nie rozwiązuje problemu. Jakieś nowe szczegóły?
Lucas Azzopardi
Czy na pewno znalazłeś wszystkie instancje i zmieniłeś je wszystkie? Uważam również, że zmieniły się również wywołania następujących elementów (usunięcie pięści i ostatniego nawiasu, więc kod powinien wyglądać tak jak poniżej) ... pfObject.saveInBackgroundWithBlock {(sukces: Bool, błąd: NSError?) -> Void in // code}
AT3D
dokładny. Działa dobrze
SARATH SASI
Czyli składnia końcowego zamknięcia również powodowała ten problem?
Beltalowda
7

Trafiłem na ten błąd. Po pewnej frustracji wypróbowałem Xcode Clean i wszystko zaczęło działać ponownie. Zostawiam to tutaj na przyszłość.

Victor Zimmer
źródło
7

Kiedy otrzymałem ten błąd podczas konwersji ze Swift na Swift 2.0, wyraźnie wskazuje on na konkretny plik (blahClass.swift), w którym występuje problem, a następnie opisał wszystkie ostrzeżenia i błędy w tekście komunikatu o błędzie. Przeszedłem i rozwiązałem je ręcznie, a teraz aplikacja kompiluje się dobrze.

William T.
źródło
3
Po prostu dodam tutaj kolejny punkt danych. Ten błąd występował również podczas migracji do Swift 2. Skończyło się na tym, że otworzyłem plik, w którym wystąpił błąd, i skomentowałem większość kodu. Następnie aplikacja została skompilowana i udało mi się odkomentować kod po kilka wierszy na raz, aby wyśledzić problem.
Chad Pavliska,
7
object.doubleValue = dict["doublevalue"] as! Int

Znalazłem powód po cofnięciu każdego kroku, który wykonałem ... wymuszanie rzutowania na Int dla zmiennej Double

SoliQuiD
źródło
1
W moim przypadku wystąpił błąd dotyczący wymuszonego rzutowania Int na zmienną typu String.
Ian Pinto
OK, ale czy nie powoduje to błędu kompilacji w ten sposób? !!
SoliQuiD
Więc błąd zgłaszany w śladzie stosu jest taki jak powyżej i nie dotyczy wymuszonego rzutowania w moim przypadku.
Ian Pinto
6

U mnie było to spowodowane częścią mojego kodu. Szczegółowe dane wyjściowe kompilatora w XCode w rzeczywistości wskazywały metodę, w której doszło do awarii.

Następnie wykomentowałem cały kod w metodzie, sprawiłem, że zwrócił zero i skompilowałem. Następnie ponownie zaimplementowałem tę metodę przy użyciu innego i znacznie prostszego kodu i zadziałała.

Złożyłem raport o błędzie w Apple. To jest - wprawdzie nieco szalony - kod, który spowodował awarię w 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;
  }

Wydaje mi się, że byłem trochę zbyt podekscytowany, używając tam funkcji mapy ... Nowa wersja jest dużo prostsza, a także bardziej zrozumiała dla człowieka. Mimo to kompilator nie powinien ulec awarii. W najgorszym przypadku powinien pokazać błędy. Kod działający w wersji Swift 1.x

n13
źródło
4

Miałem podobny problem z Xcode 7.3 i iOS 9.3. Command failed due to signal: Segmentation fault: 11

Zrzut ekranu

Podstawowe kroki, takie jak Wyczyść (cmd + shift + k) kod, Usuń dane pochodne i Zakończ Xcode, nie działały.

W moim kodzie był jakiś winowajca.

To było [txtUserName.text.characters.count = 0]

W twoim przypadku Przejrzyj kod i napraw winowajcę.

Jayprakash Dubey
źródło
13
Uwaga dla siebie, jeśli twój kod nie działa, postępuj zgodnie z powyższą pomocną wskazówką „Przejrzyj kod i napraw winowajcę”, kto wiedział ...
Stuart P.
3

Jednym z przypadków jest to, że nazwałeś typ danych zmiennej pobierającej jak jej nazwę. Na przykład:

var someInstance: someInstance {...

Aktualizacja nr 1. Zwróć uwagę na zmienną _ , która nie jest Int, i zapominasz o wskazaniu właściwego typu powrotu. Problem występuje w więcej niż dwóch operandach operatora infix.

function getInt(value: Int) -> Int {
    return _a? ?? _b?.count ?? 0
}
dimpiax
źródło
3

Łatwa naprawa, jeśli używasz git.

1) W terminalu:

git stash

2) Usterka Seg znika.

3) Uruchom aplikację.

4) W terminalu:

git stash pop

5) Xcode przedstawia teraz prawdziwy problem.

Andrew Schreiber
źródło
1
Cześć, stary ! Bardzo wam dziękuję. Zaoszczędziłeś mi silnego bólu głowy oraz dużo czasu i wysiłku!
stefat
3

Każda awaria jest błędem kompilatora (niezależnie od tego, czy kod jest prawidłowy, czy nie). Wypróbuj najnowszą wersję beta, a jeśli nadal się zawiesza, zgłoś błąd na bugs.swift.org . Zespół Swift bardzo szybko reaguje na te problemy.

Joseph Lord
źródło
Jednak okazało się, że można było temu zapobiec, ale nie pamiętam, jak to naprawiłem…
Alec.
2

Pozbyłem się tego błędu, wykonując następujące czynności.

Miałem wiele frameworków dodanych w "Link Binary With Libraries" i użyłem również nagłówka mostkującego.

Ponownie dodałem wszystkie frameworki i ponownie dodałem nagłówek mostkujący. To rozwiązało mój problem.

Vakas
źródło
2

Używam Xcode 8.3 / Swift 3

Użyłem odpowiedzi @Ron B., aby przejść przez cały kod i skomentować różne funkcje, aż uzyskałem pomyślną kompilację. Okazuje się, że async trailing closuresto był przyczyną mojego błędu:

Moje końcowe zamknięcia:

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}

Raz użyłem składni autouzupełnianiaSegmentation fault: 11 był Przeminęło

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

//autocomplete syntax closure #2
DispatchQueue.main.asyncAfter(deadline: .now() + 20, execute: secondTask)
Lance Samaria
źródło
2

wprowadź opis obrazu tutaj

Mam ten sam problem, więc próbowałem przełączyć poziom optymalizacji na szybką, jednoplikową optymalizację [-O] zamiast szybkiej optymalizacji całego modułu, a potem udało się, zbudować, zarchiwizować do Appstore.

Myślę, że niektóre frameworki, których używaliśmy, wymagają refaktoryzacji, aby dostosować się do poziomu Szybkiej optymalizacji całego modułu . Ale nadal nie znalazłem tych ram.

harchi
źródło
2

W moim przypadku stało się to w Xcode 11 beta 3 ze Swift 5 i przy użyciu SwiftUI.

Mój widok ma właściwość @State, taką jak ta:

 @State private var normInfo: NormInfo?

problem został rozwiązany przez jawne zainicjowanie go za pomocą nil.

Niemiecki
źródło
1

Miałem ten kod 11, kiedy próbowałem budować dla schematu wydania. Wskazał on jedną klasę viewcontroller (swift), która zawierała ten fragment kodu:

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

Problem polegał na tym, że kiedy dodałem do niego superklasę, zapomniałem również zaimplementować init. Tak więc super.init spowodował błąd kompilatora Błąd segmentacji: 11 Więc jeśli masz taki problem, dobrze jest sprawdzić również wszystkie nadklasy.

gogel
źródło
1

Miałem też błąd segmentacji 11, kiedy importowałem framework wykonany przez siebie (tak, czułem się naprawdę głupio).

Po miesiącach rozwoju frameworka i zintegrowaniu go z głównym projektem z połączonymi Obj-C i Swift, importowanie do Obj-C nie było problemem, ale gdy tylko napisałem import MySwiftProjectw Swift, rozpętało się piekło.

Krótko mówiąc, problem polegał na tym, że stworzyłem kilka niestandardowych metod, które zapewniają typologię NSNotificationsużywania domknięć, na przykład:

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)
        }
    }
}

(Właściwie powyższy kod zrobiłem z szablonem, ale to już inna historia)

Główny winowajca? To:

func ... -> NSObjectProtocol

Wygląda na to, że Apple może użyć NSObjectProtocolw deklaracji NSNotificationmetod, ale kiedy to zrobię, wprowadza plik Segfault 11. Wymiana NSObjectProtocolna AnyObjectrozwiązaną awarię.

Niestety, może to nie rozwiązać problemu, ponieważ segfault 11 to po prostu ogólna awaria kompilatora, ale możesz podjąć kroki, aby go rozwiązać. Zajęło mi to około 2 godzin, ale tak się stało:

  1. Utwórz nowy projekt, powielając wcześniejszą strukturę. W moim przypadku utworzyłem projekt Swift kontrolera pojedynczego widoku i dodałem szybką strukturę wewnątrz jako kolejny projekt.
  2. Skopiuj cały oryginalny kod z jednego do drugiego.
  3. Przejdź do fazy kompilacji i zacznij usuwać pliki do kompilacji, spróbuj wyłączyć fragmenty kodu, które są bardzo szybkie (jak moja typizacja NSNotification).
  4. Za każdym razem, gdy dokonujesz zmiany, wyczyść ( + K), zbuduj ( +B ) i napraw wszelkie błędy.
  5. Powtarzaj od 3 do ustąpienia błędu segmentacji.
Mogą
źródło
1

W moim przypadku powodem było zadeklarowanie klasy w innej klasie w rozszerzeniu.

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

To spowodowało błąd po mojej stronie. W swoim projekcie miałem kilka frameworków, ale wcześniej to się nie zdarzyło.

Alex Germán
źródło
1

Ja też przez chwilę się z tym zmagałem. Zaktualizowałem kod do Swift 2 z Xcode 7.2 i dla mnie problem był następujący:

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

Które musiałem zmienić na:

(self.mainScrollView.documentView!.subviews as! [MainSubView]).reverse()
Michael Baisch
źródło
1

Wystąpił ten błąd, gdy zastępowałem właściwość w podklasie i nie powtarzałem dokładnie deklaracji właściwości.

Klasa podstawowa:

var foo: String! {return nil}

Podklasa:

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

Murray Sagal
źródło
Jak to odpowiada na pytanie?
Thomas Ayoub
@Tomasz. Tak nie jest. Ale na podstawie wielu innych podobnych odpowiedzi - „tak właśnie dostałem ten błąd ...” - wydaje mi się, że mogę podzielić się swoimi doświadczeniami z tym błędem w nadziei, że zaoszczędzi to komuś trochę frustracji. Daj mi znać, jeśli uważasz, że to niewłaściwe.
Murray Sagal
@MurraySagal coś takiego było powodem również dla mnie
larromba
1

Dla mnie to dlatego, że mam dwa pakiety o tej samej nazwie.

Lumialxk
źródło
1

Przeczytaj uważnie komunikat debugowania.

w moim przypadku napotkałem ten błąd, ponieważ przez pomyłkę użyłem pojedynczego znaku „=” zamiast podwójnego „=” w instrukcji if.

if aString.characters.count = 2 {...}
Kyle KIM
źródło
To samo dotyczyło mnie. To rodzaj typowych błędów, które każdy popełnia. Kompilator zwykle narzeka na to od razu. Jednakże, jeśli zmienna jest trochę bardziej złożona, jak tablica krotek lub coś w tym rodzaju, kompilator po prostu zwariuje i nie może wskazać tego konkretnego prostego błędu pokazującego zamiast tego „błąd segmentacji”.
Vitalii
1

Żadna z tych odpowiedzi nie zadziałała, ale znalazłem swój problem. Miało to związek z obsługą błędów (w sekcji Wyłączanie propagacji błędów). Miałem tę metodę:

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

Odwołując się do tego w ten sposób:

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

podał błąd. Ale po przejściu na to zniknęło:

func anotherMethod() -> Float {
  return (try! getSlider()).value
}
socom1880
źródło
dla mnie to samo. Zamiast tego zrobiłemlet slider = try! getSlider(); slider.value;
Kochanie
1

Natknąłem się również na ten problem ... oczywiście jest to ogólny błąd lub rodzaj ... kiedy xcode się pomyli ... w moim przypadku miałem 3 vars, do których przypisałem wartości z tablicy ... .. ale nie określiłem typu danych w każdym elemencie tablicy .... kiedy to zrobiłem, rozwiązałem problem ....

tj4shee
źródło
1
Choć twoja odpowiedź może być przyjemna dla przyszłych odwiedzających, to pytanie ma ponad rok i ma już 30 odpowiedzi, więc jest mało prawdopodobne, aby wiele osób zauważyło twoją odpowiedź. Chciałbym również uprzejmie wskazać, że chociaż rozumiem, co próbujesz powiedzieć, odpowiedzi są zwykle znacznie bardziej pomocne dla czytelników przechodzących obok, gdy używasz prawidłowej gramatyki angielskiej, więc jeśli chcesz, możesz edytować post, aby naprawić tę część. Reszta jest jednak niesamowita i nie zniechęcaj się!
Isiah Meadows
1

W moim przypadku zadeklarowałem następującą właściwość w jednej z moich podklas ViewControllers:

@property NSString * title

Myślę, że było to sprzeczne z już istniejącą titlewłasnością w ViewController. Zmieniłem nazwę tej właściwości na inną i przeformułowałem jej użycie, a błąd zniknął.

nmvictor
źródło
1

W moim przypadku było to spowodowane próbą użycia funkcji, która zwróciła NSNumber jako argument, w którym oczekiwano Double. Radzę uważnie mieszać obiekty Objective C z typami danych Swift. I jak sugerowało wielu innych, komentuj wiersze, aż wskażesz, który z nich powoduje błąd. (Nawet jeśli robisz to podczas tworzenia innych błędów, możesz je po prostu zignorować i zobaczyć, co sprawia, że ​​błąd segmentacji zniknie).

Dan
źródło
1

Dla mnie blokowałem główny wątek.

Co zrobiłem, aby naprawić to za pomocą GCD (patrz poniżej)

dispatch_async(dispatch_get_main_queue(),      
})
user6776304
źródło
1

Raport o błędzie ludzkim:

W moim przypadku winowajca przekazywał tablicę w miejsce parametru wariadycznego . Czyli do podpisu:

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

Zdałem:

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

zamiast:

// Correct
someUIView.addSubview(subview: someOtherView, constrain: .Leading, .Top, .Bottom, .Trailing)
AmitaiB
źródło
1

Mam błąd segmentacji na moim Macu Mini przy użyciu botów Xcode. Błąd seg wystąpił tylko na etapie testowania kompilacji, a nie podczas tworzenia lub uruchamiania lokalnego. Tylko w botach Xcode na etapie testowania kompilacji.

Używam macOS Sierra i Xcode 8, z kodem przekonwertowanym na Swift 2.3.

W końcu znalazłem linię powodującą awarię seg, spowodowaną przez:

public let isIpad = UIDevice.currentDevice().userInterfaceIdiom == .Pad

Który został zadeklarowany poza klasą jako stała. Zmiana w celu sprawdzenia userInterfaceIdiom w czasie wykonywania rozwiązała problem.

Mam nadzieję, że pomoże to komuś innemu!

Oto dziennik błędów mojej winy 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
Sajjon
źródło