2016-09-23 5 views
1

Dieser Code erzeugt Fehler Segmentierung: 11 Fehler beim Übersetzen:Xcode 8 Swift 3 Segmentation fault: 11

class Test: UICollectionViewLayout { 
    var sublayout: Sublayout? 
    override func shouldInvalidateLayout(forBoundsChange newBounds: CGRect) -> Bool { 
     sublayout?.shouldInvalidate?(forNewBounds: newBounds, currentBounds: collectionView!.bounds) 
     return true 
    } 
} 

@objc protocol Sublayout { 
    @objc optional func shouldInvalidate(forNewBounds: CGRect, currentBounds: CGRect) 
} 

Jede Idee?

Antwort

1

Nur ein FYI, nach dem Konvertieren meiner Swift 2.2 iOS App zu Swift3/Xcode8 bekomme ich einen segfault 11. Unter 2.2 die App kompiliert ohne Fehler oder Warnungen, so denke ich, dass S3/XC8 noch nicht für echte Arbeit bereit ist.

+0

am 26. September 2016 – e987

+0

Ich habe das gleiche Problem. Selbst wenn Sie isolieren könnten, was es verursacht hat, ist es ein sehr schlechtes Zeichen für XCode 8 + Swift 3 – user1122069

0

Ja, ich hatte dasselbe Problem nach der Migration zu Swift3/Xcode8. Ich war in der Lage, auf Gerät und Simulator zu bauen/laufen, aber am Ende der Archivierung in Segmentierung Fehler 11, Stack Dump zeigte einige Protokollmethoden, die sicherlich nicht die Ursache war.

Aber ich kann immer noch Archiv von Swift Compiler> Codegenerierung> Optimierungsstufe für aktuelle Zieleinstellung> Release> Keinen [-Onone]

enter image description here Ich denke, messing Optimierung Levelaufstieg ist nicht das Richtige, Aber bis wir eine stabile Xcode-Version bekommen, sollte es in Ordnung sein.