About the author

Related Articles


  1. 1


    I got rid of this error by following.

    I had many frameworks added in “Link Binary With Libraries” and was using a bridging header as well.

    I re-added all the frameworks and added the bridging header again. This solved my issue.

  2. 2


    One of case, is that you have named datatype of getter variable like its name.
    For example:

    var someInstance: someInstance {...

    Update #1.
    Keep attention on _a variable which isn’t Int, and you forget to point right return type. Issue happens in more than two operands of infix operator.

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

    Giovanni Palusa

    Removing all derived data helped me solve my problem

    File > Workspace settings

    Then click the little grey arrow next to the location (probably named /users/… something) and then delete the whole folder (safe solution)

  4. 4

    Matheus Felizola

    I had exactly the same issue, and after many hours of debugging, I found out it was because I was accessing a subscript by using .subscript() instead of between []. XCode thinks this is perfectly valid, but gives this segmentation fault error when building.

  5. 5


    In my case, IGListKit refactored their class named IGListSectionController to ListSectionController , while I already had a class named ListSectionController. I used find and replace and didn’t know I had a class with the same name.

    class ListSectionController : ListSectionController

    I read the error message in full and concluded that this error can also happen when you have Circular dependencies. This wasn’t mentioned in any of the comments, I hope this helps.

  6. 6


    In my case was the segmentation fault caused by use of throws keyword in a method that may throw an error.

    It took a long time but I found out that when I import some library (Foundation for example, I didn’t import anything before) then the project will compile and run successfully.

  7. 7

    Lance Samaria

    I’m using Xcode 8.3/Swift 3

    I used @Ron B.’s answer to go through all the code and comment out different functions until I got a successful build. It turns out it was async trailing closures that was causing my error:

    My trailing closures:

    let firstTask = DispatchWorkItem{
    let secondTask = DispatchWorkItem{
    //trailing closure #1
    DispatchQueue.main.asyncAfter(deadline: .now() + 10){firstTask}
    //trailing closure #2 
    DispatchQueue.main.asyncAfter(deadline: .now() + 20){secondTask}

    Once I used the autocomplete syntax the Segmentation fault: 11
    was Gone

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

    Elliott Davies

    If you’re using multiple versions of XCode, this error can easily happen if your paths have changed (eg. You downloaded the DMG to Desktop, extracted, but then moved XCode to Applications afterward). Carefully read the Segmentation Fault 11 error given to you in XCode, it may reference your old path which is the cause of the Segmentation Fault. If it does, you can fix it by either:

    1. xcode-select the correct path. Eg. sudo xcode-select -s /Applications/Xcode-beta.app/Contents/Developer/ (obviously input your correct path here)
    2. When installing your second version of XCode, ensure it’s being extracted to the final path (extract to Applications itself) and that ‘XCode.app’ doesn’t already exist when you do so (rename your previous one if it exists). After it’s installed, you can rename both as you like.

    Another potential fix for this issue:

    Upgrading from El Capitan to Sierra and ‘installing extra components’ when launching Xcode after this upgrade fixed it for me the first time this happened.

  9. 9

    Rahul Kumar

    I also encounterd the Segmentation fault: 11 error because I was calling a method which was returning Any object and compiler got confused to understand the object type that was being used.

    Casting Any object to the required type which I was using, solved my issue.

  10. 10


    I recently encountered the same problem, and I will try to generalise how I solved it, as a lot of these answers are to spesific to be of help to everyone.

    1. First look at the bottom of the error message to identify the file and function which causes the segmentation fault.

    Error message

    2. Then I look at that function and commented out all of it. I compiled and it now worked. Then I removed the comments from parts of the function at a time, until I hit the line that was responsible for the error. After this I was able to fix it, and it all works. :)

  11. 11

    Bohdan Savych

    I had this line in my code

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

    this cause Segmentation fault.
    But then i changed it in this way:

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

    and app started working.

  12. 12


    I got this error when getting a value from NSUserDefaults. The following gives error:

    let arr = defaults.objectForKey("myArray")

    What fixed the error was to cast the type to the correct type stored in NSUserDefaults. The following gives no error:

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

    Muhammad Adnan

    When your development target is not supporting any UIControl

    In my case i was using StackView in a project with development target 8.0.
    This error can happen if your development target is not supporting any UIControl.

    When you set incorrect target

    In below line if you leave default target “target” instead of self then Segmentation fault 11 occurs.

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


    When I create timer in VC, I got this issue too.

    if I init timer like this:
    var timer:Timer = Time(timeInterval: 1.0, target: self, selector: #selector(countDown), userInfo: nil, repeats: true) , it shows the error, but finally i found this is not correct initialization method. The correct method is like this:

    var timer:Timer = Timer.init(timeInterval: 1.0, target: self, selector: #selector(countDown), userInfo: nil, repeats: true)

  15. 15


    I got this issue, and I finally found that in my code I changed the ViewController's name, such as:

    I have a MerchantRegisterViewController.swift file,

    in my LoginControlelr:

    @IBAction func unwindToLoginVCFromTenantRegister(segue: UIStoryboardSegue){
        if let tenantRegisterVC = segue.source as? MerchantRegisterViewController {
            print("coming form tenantRegisterVC")

    and after:
    I changed the MerchantRegisterViewController to MerchantViewRegisterController, but I hard to found the unwind func to change the VC‘s name, so I get the error, after I delete the MerchantViewRegisterController, and recreate it , so Xcode will prompt me the error source location, then I can solve the problem!

    Hope this can help someone who in the same situation!:)

  16. 16


    I got segmentation fault on my Mac Mini using Xcode Bots. The seg fault did only occur during build step of testing and not during building or running locally. Only in Xcode bots during build step of testing.

    I am using macOS Sierra and Xcode 8, with the code converted to Swift 2.3.

    I finally found the line causing the seg fault, it was caused by:

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

    Which was declared outside a class as a constant. Changing it to check the userInterfaceIdiom at runtime fixed the issue.

    Hopes this helps someone else!

    This is the error log for my seg fault:

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


    Human Error report:

    In my case, the culprit was passing in an array in the place of a variadic parameter. That is, for the signature:

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

    I passed in:

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

    rather than:

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


    For me I was blocking the main thread.

    What I did to Fix it with GCD (see below)

  19. 19


    In my case it was caused by trying to use a function that returned an NSNumber as an argument where a Double was expected. My advice is be careful mixing Objective C objects with Swift datatypes. And as many others have suggested, comment out lines until you pinpoint which one causes the error. (Even if you create other errors when doing so, you can just ignore them and see what makes the segmentation fault error go away.)

  20. 20

    Joseph Lord

    Any crash is a compiler bug (whether or not your code is valid). Try the latest beta and if it still crashes file a bug report at bugs.swift.org. The Swift team are very responsive on these.

  21. 21

    Jayprakash Dubey

    I had similar issue in with Xcode 7.3 and iOS 9.3.
    Command failed due to signal: Segmentation fault: 11


    Basic steps such as Clean (cmd+shift+k) code, Delete derived data and Quit Xcode didn’t work.

    There was some culprit in my code.

    It was [txtUserName.text.characters.count = 0]

    In your case Review your code and fix the culprit.

  22. 22


    In my case I had declared the following property in one of my ViewControllers subclass:

    @property NSString * title

    I think this was conflicting with the already existing title property in ViewController. I renamed this property to something else and refactored its use and the error disappeared.

  23. 23

    Yunus Nedim Mehel

    I have experienced the same issue on my first try with Realm.io. The reason for the error was that I have named my target Realm and that caused namespace clashing. The issue was resolved after I have changed my project and target name into something else, as explained on this issue.

    My suggestion is to check for similar namespace clashes.

  24. 24


    I also ran into this problem…. obviously, it is a general error or sorts… when the xcode gets confused…. in my case, I had 3 vars that I was assigning values to from an array…. but I did not specify the type of data in each element of the array…. once I did, it resolved the problem….

  25. 25


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

    I found the reason after rolling back each step I made…. force casting to Int for a Double variable

  26. 26


    None of these answers worked for me but I found my issue. It had to do with Error Handling (in the Disabling Error Propagation section). I had this method:

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

    Referencing it like this:

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

    gave the error. But, when switching to this, it went away:

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

    Kyle KIM

    Read the debug message carefully.

    in my case, I encountered this error because I used a single ‘=’ instead of double ‘=’ by mistake in if-statement.

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

    Andrew Schreiber

    Easy fix if using git.

    1) In terminal:

    git stash

    2) Seg fault disappears.

    3) Run the app.

    4) In terminal:

    git stash pop

    5) Xcode now tells you the real problem.

  29. 29


    For me it’s because I have two bundles with the same name.

  30. 30

    Michal Gumny

    In my case Product Clean and then restarting Xcode did resolve this problem…

  31. 31


    I encountered this bug when attempting to define a new OptionSetType struct in Swift 2. When I corrected the type on the init() parameter from Self.RawValue to Int the crash stopped occurring:

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

    Ben Reimers

    I just had this issue and found that it was because I had accidentally left an override on a function that I’d moved from the class to a protocol (therefore the subclass was no longer overriding a function of the parent).

  33. 33


    This happened to me when there were some nested functions in my code and
    one of the nested function was calling another nested function.

    I just removed the chaining between the nested functions and this issue was fixed.

    thanks to @Ron B’s answer.

  34. 34

    Justin Milo

    Named tuples in array in a let property gave me the seg fault issue.

  35. 35

    Michael Baisch

    I also struggled with this for a while. I upgraded my code to Swift 2 with Xcode 7.2 and for me the problem was this:

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

    Which I had to change to:

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

    Alex Germán

    In my case the reason was having a class declared within another class within an extension.

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

    This generated the error on my side. I had several frameworks in my project, yet it did not happen before.

  37. 37

    Justin Vallely

    I ran into this while building for Tests. Build to Run works fine. Xcode 7/Swift 2 didn’t like the way a variable was initialized. This code ran fine in Xcode 6.4. Here’s the line that caused the seg fault:

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

    Changing it to this solved the problem:

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

    Victor Zimmer

    I hit this error. After some frustration I tried Xcode clean and everything started working again. Just leaving this here for future reference.

  39. 39

    Ankish Jain

    There would be a filename mentioned after Command failed due to signal: Segmentation fault: 11 . Atleast in my case it was. With Swift upgrade to 2.0 some of the core properties were changes to optional. On not handling it appropriately it threw that error. Handling the optional well dismissed the error. In my case it was due to not handling :

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

    Good Luck!

  40. 40


    For me, this was caused by a change in the Parse SDK syntax in Swift 2.0. If you are using Parse and you upgrade to Swift 2.0, the following syntax changes:

    Swift 1.2:

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

    Swift 2.0:

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

    The removal of the first ‘(‘ and the last ‘)’ is what was causing the biggest problem. Took me AGES to find this!

  41. 41


    For me this was caused by some of my code. The detailed compiler output in XCode actually pin-pointed the method where it was crashing.

    I then commented out all the code in the method, made it return nil, and it did compile. I then re-implemented the method using different and much simpler code, and it worked.

    I filed a bug report with Apple. This is the – admittedly somewhat crazy – code that caused the crash in 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;

    I guess I got a little over-excited using the map function there… The new version is a lot simpler and also more human comprehensible. Still the compiler shouldn’t crash. At worst it should show some errors. The code as is worked in Swift 1.x

  42. 42


    I also had the Segmentation Fault 11, when importing a framework made by myself (yeah, felt really dumb).

    After developing the framework for months and integrating it into a main project with intermixed Obj-C and Swift, importing to Obj-C was a no-problem, but as soon as I wrote the import MySwiftProject in Swift, all hell broke loose.

    Long story short, the problem was that I created some custom methods that provide typification for NSNotifications using closures, for example:

    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)

    (Actually, the code above I did with a template, but that’s another story)

    The main culprit? This:

    func ... -> NSObjectProtocol

    Apparently, Apple can use NSObjectProtocol in the declaration of NSNotification‘s methods, but when I do, it introduces a Segfault 11. Replacing NSObjectProtocol to AnyObject solved the crash.

    Unfortunately, this might not solve your issue, since segfault 11 is simply a generic crash of the compiler, but you can take steps to solve it. It took me around 2 hours, but this is what I did:

    1. Create a new project, replicating the structure you had. In my case, I created a single view controller swift project, and added a swift framework inside as another project.
    2. Copy all the original code from one to another.
    3. Go to the compilation phase, and start removing files to compile, try disabling pieces of code that are very swift-hacky (like my NSNotification typification).
    4. Every time you do a change, do a clean (+K), build (+B) and fix any errors.
    5. Repeat from 3 until the segmentation fault goes away.
  43. 43

    Chris Wagner

    For anyone else coming across this… I found the issue was caused by importing a custom framework, I have no idea how to correct it. But simply removing the import and any code referencing items from the framework fixes the issue.

    (╯°□°)╯︵ ┻━┻

    Hope this can save someone a few hours chasing down which line is causing the issue.

  44. 44


    I had that code 11 when trying to build for release scheme. It pointed out one viewcontroller class (swift) that had this piece of code inside:

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

    The problem was that when I have added superclass to it, I forgot to also implement init. So that super.init caused compiler error Segmentation fault: 11
    So if you have such problem it’s good idea to check also any superclasses.

  45. 45


    I actually screwed up Core Data entities a bit while porting from Swift 2.0 to 1.2 (don’t ask why)
    I deleted all the entity classes and recreated them again. I got lots of error messages then and when I fixed them all the project built successfully.

  46. 46

    Ron B.

    You can get this error when the compiler gets too confused about what’s going on in your code. I noticed you have a number of what appear to be functions nested within functions. You might try commenting out some of that at a time to see if the error goes away. That way you can zero in on the problem area. You can’t use breakpoints because it’s a compile time error, not a run time error.

  47. 47


    enter image description here

    I have same problem so I tried switch Optimization Level to Fast, Single-File Optimization[-O] instead of Fast, Whole Module Optimization then it worked, built, archive to Appstore succeed.

    Some frameworks we used that need to refactor to adapt with Fast, Whole Module Optimization level I think.
    But I still did not find those framework.

  48. 48

    Murray Sagal

    I got this error when I was overriding a property in a subclass and I didn’t repeat the property’s declaration exactly.

    Base class:

    var foo: String! {return nil}


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

  49. 49

    zeeshan Dar

    its a simple solution

    Just Press cmd+shift+k

    my problem is solved for clean the project

  50. 50

    Nicolas Miari

    In my case, I had several instances of methods taking a closure with a signature like this (notice the optional array of dictionaries):

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

    …which I started to refactor into:

    // '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...)

    …but did not finish, so some methods expected a closure with an optional argument and where being passed a non-optional one (or viceversa?), and I guess the compiler lost track.

  51. 51

    William T.

    When I got this error converting from Swift to Swift 2.0, it clearly indicates a particular file (blahClass.swift) that has the problem, then it outlined all of the warnings & errors in the error message text. I went through and resolved these manually and now the app compiles fine.

  52. 52


    For me this popped up when I accidentally called “super.init()” inside a completionHandler of a method that was called from the class init method.

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

    instead of

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


    Just note for those who might be in the same situation as I was in, since this took me so much hours to resolve…

    I encountered this error after I used Find/Replace functionality in Xcode. The problem is that some characters are “overreplaced” due to my carelessness (i.e. replace not only the relevant parts but also the redundant parts) and thus some of variables become undefined ones. Nonetheless those undefined variables weren’t caught in the compile (even after making a clean) and finally the signal segmentation error was displayed on the screen.


Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © 2017 SolutionMmyself.com