2016-08-21 6 views
2

ich bin immer verrückt mitXcode: Persistent Fehler Segmentierung: 11, wenn Firebase mit

Befehl fehlgeschlagen aufgrund Signal: Segmentation fault: 11

Als ich Firebase verwenden in meinem Projekt.

Ich habe mehrere Fragen zu diesem Xcode-Bug gelesen, aber es ist furchtbar hartnäckig, wenn ich Firebase verwende.

habe ich versucht, viele Lösungen wie das Projekt Reinigung, Umbau, Bitcode zu deaktivieren, abgeleiteten Daten usw. zu löschen

Mein Code:

@IBAction func saveBook(sender: UIBarButtonItem) { 


    var arrayOfNames : [String] = [String]() 
    for i in 0 ..< 6 { 
     let indexPath = NSIndexPath(forRow:i, inSection:0) 
     let cell : LongNameTableViewCell? = self.tableView.cellForRowAtIndexPath(indexPath) as! LongNameTableViewCell? 
     if let item = cell?.textField.text { 
      arrayOfNames.append(item) 
     } 
    } 

    self.ref.child("books").childByAutoId().setValue(["title": arrayOfNames[0], "author": arrayOfNames[1], "pages_count":arrayOfNames[2]]) 
    self.dismissViewControllerAnimated(true, completion: nil) 

} 
+0

es seltsam war, als mit meiner Situation zu vergleichen, da die einzige Lösung, die ich sauber tun musste Ordner meines Projektes war, um das beheben Scheitern. – pedrouan

Antwort

1

Wie in ähnlichen Fragen in der Regel erwähnt, tritt dieses Problem auf, wenn Xcode aus irgendeinem Grund nicht in der Lage, den Code eq zu analysieren. Variablentypen sind nicht eindeutig.

Obwohl dies eher eine Abhilfe, die eine empfohlene Lösung, es für mich gearbeitet:

self.ref.child("books").childByAutoId().setValue(["title":arrayOfNames[0] as! String, "author": arrayOfNames[1] as! String, "pages_count":arrayOfNames[2] as String!]) 

Offensichtlich jetzt Xcode zeigt Warnung, dass diese Art von Casting keinen Sinn macht, aber zum Glück dies löscht die Fehlermeldung.

EDIT

Xcode 8 entfernt alle diese Probleme.

0

Meine Art, dieses Problem zu lösen, bestand darin, rückwärts zu arbeiten und die Logik zu kommentieren, die das Problem verursachen könnte. Es sollte eine Klassendatei direkt unterhalb des Fehlers angegeben sein. Mein Problem war, dass ich eine Super-Klasse mit dieser Methode hatte:

func queryAssetsFromDB() -> [AssetDTO]? { 
    return nil 
} 

und ich war überschreibt es mit

override func queryAssetsFromDB() -> [AssetDTO] { 
    let cryptos = assetManager.findAllCrypto() 
    return cryptos 
} 

Mitteilung der optional in der Antwort Array

0

In Ihrem podfile können Sie versuchen, use_frameworks auskommentieren!

use_frameworks! 
pod 'Firebase' 
pod 'Firebase/Database' 
pod 'Firebase/Auth' 

Dann 'pod update' im Terminal ausführen. Starten Sie Ihr Xcode-Projekt neu.

Das hat es für mich nach dem Segmentation fault für zwei Tage zu kämpfen 11

+0

Ich verwende immer Frameworks. Für mich hat die Aktualisierung von xcode auf 8 das Problem gelöst – DCDC

Verwandte Themen