ios - El comando falló debido a la señal: Falla de segmentación: 11
swift segmentation-fault (30)
Informe de error humano:
En mi caso, el culpable pasaba en una matriz en lugar de un parámetro variable . Es decir, para la firma:
// Note the variadic parameter
func addSubview(subview subview: UIView, constrain: NSLayoutAttribute...)
Pasé en:
// Compile-time error, "constrain" parameters have array brackets
someUIView.addSubview(subview: someOtherView, constrain: [.Leading, .Top, .Bottom, .Trailing])
más bien que:
// Correct
someUIView.addSubview(subview: someOtherView, constrain: .Leading, .Top, .Bottom, .Trailing)
Me sale el error ...
El comando falló debido a la señal: Falla de segmentación: 11
... cuando intento compilar mi aplicación Swift. Estoy usando Xcode 6.1, tratando de construir para un iPhone 5 en iOS 8.1.
Mi código
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.
}
}
Y el texto de error!
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")
}
}"
En mi caso, fue causado al intentar usar una función que devolvió un NSNumber como argumento donde se esperaba un Double. Mi consejo es tener cuidado al mezclar objetos Objective C con tipos de datos Swift. Y como muchos otros han sugerido, comente las líneas hasta que identifique cuál causa el error. (Incluso si crea otros errores al hacerlo, puede ignorarlos y ver qué hace que el error de falla de segmentación desaparezca).
En mi caso, había declarado la siguiente propiedad en una de mis subclases de ViewControllers:
@property NSString * title
Creo que esto estaba en conflicto con la
title
propiedad
ya existente
en
ViewController
.
Cambié el nombre de esta propiedad a otra cosa y refactoré su uso y el error desapareció.
Para mí estaba bloqueando el hilo principal.
Lo que hice para solucionarlo con GCD (ver más abajo)
dispatch_async(dispatch_get_main_queue(),
})
Tengo una falla de segmentación en mi Mac Mini usando Xcode Bots. La falla seg solo ocurrió durante el paso de compilación de la prueba y no durante la compilación o la ejecución local. Solo en bots Xcode durante el paso de compilación de la prueba.
Estoy usando macOS Sierra y Xcode 8, con el código convertido a Swift 2.3.
Finalmente encontré la línea que causa la falla seg, fue causada por:
public let isIpad = UIDevice.currentDevice().userInterfaceIdiom == .Pad
Que se declaró fuera de una clase como una constante. Cambiarlo para verificar el userInterfaceIdiom en tiempo de ejecución solucionó el problema.
¡Espera que esto ayude a alguien más!
Este es el registro de errores para mi falla 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
Cualquier bloqueo es un error del compilador (ya sea que su código sea válido o no). Pruebe la última versión beta y, si todavía se bloquea, presente un informe de error en bugs.swift.org . El equipo de Swift es muy receptivo a estos.
Cuando recibí este error al convertir de Swift a Swift 2.0, indica claramente un archivo en particular (blahClass.swift) que tiene el problema, luego describió todas las advertencias y errores en el texto del mensaje de error. Lo revisé y resolví manualmente y ahora la aplicación se compila bien.
En mi caso, la razón era tener una clase declarada dentro de otra clase dentro de una extensión.
extension classOrig {
class classChild {
class classGrandChild {
static let aVariable : String = "SomeValue";
}
}
}
Esto generó el error de mi lado. Tenía varios marcos en mi proyecto, sin embargo, no sucedió antes.
Estoy usando Xcode 8.3 / Swift 3
Utilicé la respuesta de @Ron B. para revisar todo el código y comentar diferentes funciones hasta que obtuve una compilación exitosa.
Resulta que fueron
async trailing closures
que estaba causando mi error:
Mis cierres finales:
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}
Una vez que usé la sintaxis de autocompletar,
el
Segmentation fault: 11
desapareció
//autocomplete syntax closure #1
DispatchQueue.main.asyncAfter(deadline: .now() + 10, execute: firstTask)
//autocomplete syntax closure #2
DispatchQueue.main.asyncAfter(deadline: .now() + 20, execute: secondTask)
Golpeé este error. Después de cierta frustración probé Xcode clean y todo comenzó a funcionar nuevamente. Solo dejo esto aquí para referencia futura.
Lea el mensaje de depuración cuidadosamente.
en mi caso, encontré este error porque usé un solo ''='' en lugar de doble ''='' por error en la declaración if.
if aString.characters.count = 2 {...}
Me deshice de este error siguiendo.
Tenía muchos marcos agregados en "Enlace binario con bibliotecas" y también estaba usando un encabezado de puente.
Volví a agregar todos los marcos y agregué el encabezado de puente nuevamente. Esto resolvió mi problema.
Ninguna de estas respuestas funcionó para mí, pero encontré mi problema. Tenía que ver con el Manejo de errores (en la sección Deshabilitar la propagación de errores). Tenía este método:
func getSlider() throws -> UISlider {
... // code that could throw an error
return UISlider()
}
Haciéndolo así:
func anotherMethod() -> Float {
return try! getSlider().value
}
dio el error Pero, al cambiar a esto, desapareció:
func anotherMethod() -> Float {
return (try! getSlider()).value
}
Para cualquier otra persona que se encuentre con esto ... descubrí que el problema fue causado por la importación de un marco personalizado, no tengo idea de cómo corregirlo. Pero simplemente eliminar la importación y cualquier código que haga referencia a elementos del marco soluciona el problema.
(╯ ° □ °) ╯︵ ┻━┻
Espero que esto pueda ahorrarle a alguien unas pocas horas persiguiendo qué línea está causando el problema.
Para mí es porque tengo dos paquetes con el mismo nombre.
Para mí, esto fue causado por parte de mi código. La salida detallada del compilador en XCode en realidad señaló el método donde se estaba bloqueando.
Luego comenté todo el código en el método, hice que devuelva nil y se compiló. Luego volví a implementar el método usando un código diferente y mucho más simple, y funcionó.
Presenté un informe de error con Apple. Este es el código, ciertamente algo loco, que causó el bloqueo en 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;
}
Supongo que me emocioné un poco usando la función de mapa allí ... La nueva versión es mucho más simple y también más comprensible para los humanos. Aún así el compilador no debería fallar. En el peor de los casos, debería mostrar algunos errores. El código tal como se trabajó en Swift 1.x
Para mí, esto fue causado por un cambio en la sintaxis del SDK de Parse en Swift 2.0. Si está utilizando Parse y actualiza a Swift 2.0, la siguiente sintaxis cambia:
Swift 1.2:
myPFQuery.findObjectsInBackgroundWithBlock({ (queryResults: [AnyObject]?, error: NSError?) -> Void in
// CODE
})
Swift 2.0:
myPFQuery.findObjectsInBackgroundWithBlock { (queryResults: [PFObject]?, error: NSError?) -> Void in
// CODE
}
La eliminación del primer ''('' y el último '')'' es lo que estaba causando el mayor problema. ¡Me llevó EDAD encontrar esto!
Puede obtener este error cuando el compilador se confunde demasiado sobre lo que está sucediendo en su código. Me di cuenta de que tienes varias funciones que parecen estar anidadas dentro de las funciones. Puede intentar comentar algo de eso a la vez para ver si el error desaparece. De esa manera puede concentrarse en el área del problema. No puede usar puntos de interrupción porque es un error de tiempo de compilación, no un error de tiempo de ejecución.
Recibí este error cuando estaba anulando una propiedad en una subclase y no repetía exactamente la declaración de la propiedad.
Clase base:
var foo: String! {return nil}
Subclase:
override var foo: String {return "bar"} // missing the implicit unwrap operator
Recientemente me encontré con el mismo problema, y trataré de generalizar cómo lo resolví, ya que muchas de estas respuestas son específicas para ayudar a todos.
1. Primero mire la parte inferior del mensaje de error para identificar el archivo y la función que causa la falla de segmentación.
2. Luego miro esa función y comenté todo. Compilé y ahora funcionó. Luego eliminé los comentarios de partes de la función a la vez, hasta que llegué a la línea responsable del error. Después de esto pude arreglarlo, y todo funciona. :)
Solución fácil si usa git.
1) En terminal:
git stash
2) La falla Seg desaparece.
3) Ejecuta la aplicación.
4) En terminal:
git stash pop
5) Xcode ahora te dice el verdadero problema.
También luché con esto por un tiempo. Actualicé mi código a Swift 2 con Xcode 7.2 y para mí el problema era este:
self.mainScrollView.documentView!.subviews.reverse() as! [MainSubView]
Que tuve que cambiar a:
(self.mainScrollView.documentView!.subviews as! [MainSubView]).reverse()
También me encontré con este problema ... obviamente, es un error general o algo así ... cuando el código x se confunde ... en mi caso, tenía 3 vars a los que estaba asignando valores desde una matriz ... .. but I did not specify the type of data in each element of the array.... once I did, it resolved the problem....
También tuve la Falla de segmentación 11, al importar un marco creado por mí mismo (sí, me sentí realmente tonto).
Después de desarrollar el marco durante meses e integrarlo en un proyecto principal con Obj-C y Swift entremezclados, importar a Obj-C no fue un problema, pero tan pronto como escribí el
import MySwiftProject
en Swift, se desató el infierno.
En pocas palabras, el problema fue que creé algunos métodos personalizados que proporcionan tipificación para
NSNotifications
utilizando cierres, por ejemplo:
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)
}
}
}
(En realidad, el código anterior lo hice con una plantilla, pero esa es otra historia)
¿El principal culpable? Esta:
func ... -> NSObjectProtocol
Aparentemente, Apple puede usar
NSObjectProtocol
en la declaración de los métodos de
NSNotification
, pero cuando lo hago, introduce un
Segfault 11
.
Reemplazar
NSObjectProtocol
a
AnyObject
resolvió el bloqueo.
Desafortunadamente, esto podría no resolver su problema, ya que segfault 11 es simplemente un bloqueo genérico del compilador, pero puede tomar medidas para resolverlo. Me tomó alrededor de 2 horas, pero esto es lo que hice:
- Cree un nuevo proyecto, replicando la estructura que tenía. En mi caso, creé un proyecto rápido de controlador de vista única y agregué un marco rápido dentro como otro proyecto.
- Copie todo el código original de uno a otro.
- Vaya a la fase de compilación y comience a eliminar archivos para compilar, intente deshabilitar piezas de código que sean muy rápidas (como mi tipificación NSNotification).
- Cada vez que realice un cambio, realice una limpieza ( ⌘ ⌥ ⇧ + K ), compile ( ⌘ + B ) y corrija los errores.
- Repita desde 3 hasta que la falla de segmentación desaparezca.
Tenía ese código 11 cuando intentaba construir para el esquema de lanzamiento. Señaló una clase viewcontroller (swift) que tenía este código dentro:
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
stuff...
}
El problema era que cuando le agregué una superclase, olvidé implementar también init. De modo que super.init causó un error de compilación. Error de segmentación: 11 Entonces, si tiene ese problema, es buena idea verificar también cualquier superclase.
Tuve un problema similar con Xcode 7.3 y iOS 9.3.
Command failed due to signal: Segmentation fault: 11
Pasos básicos como el código Clean (cmd + shift + k), Eliminar datos derivados y Salir de Xcode no funcionaron.
Hubo algún culpable en mi código.
Fue
[txtUserName.text.characters.count = 0]
En su caso, revise su código y corrija al culpable.
Uno de los casos es que ha nombrado el tipo de datos de la variable getter como su nombre. Por ejemplo:
var someInstance: someInstance {...
Actualización n. ° 1. Mantenga la atención en _ una variable que no sea Int, y olvida señalar el tipo de retorno correcto. El problema ocurre en más de dos operandos del operador infijo.
function getInt(value: Int) -> Int {
return _a? ?? _b?.count ?? 0
}
Tengo el mismo problema, así que intenté cambiar el Nivel de optimización a Rápido, Optimización de un solo archivo [-O] en lugar de Rápido, Optimización de todo el módulo, luego funcionó, creó, archivó para que la tienda de aplicaciones tuviera éxito.
Creo que algunos marcos que utilizamos necesitan refactorizarse para adaptarse con el nivel de Optimización rápida de módulo completo . Pero todavía no encontré ese marco.
Cuando su objetivo de desarrollo no es compatible con UIControl
En mi caso, estaba usando
StackView
un proyecto con objetivo de desarrollo
8.0
.
Este error puede ocurrir si su objetivo de desarrollo no es compatible con UIControl.
Cuando estableces un objetivo incorrecto
En la línea inferior, si deja el objetivo predeterminado "objetivo" en lugar de uno mismo, se produce el fallo de segmentación 11.
shareBtn.addTarget(self, action: #selector(ViewController.share(_:)), for: .touchUpInside)
object.doubleValue = dict["doublevalue"] as! Int
Encontré la razón después de retroceder cada paso que hice ... forzar el lanzamiento a Int para una variable Doble