Error de comstackción de Xcode 7: “Error de comando debido a la señal: error de segmentación: 11”

Ayer instalé el Xcode 7 oficial y cuando intenté abrir uno de mis proyectos Swift, apareció una alerta que decía que la nueva versión de Xcode desea actualizar mi código rápido (o algo así). De acuerdo, acepté y después apareció "Command failed due to signal: Segmentation fault: 11" Error de "Command failed due to signal: Segmentation fault: 11" comstackción de la "Command failed due to signal: Segmentation fault: 11" (si quieres detalles sobre esto, puedo escribir todo el texto de error). ¿Alguien tiene el mismo problema?

Gracias

Editado

Instalé de nuevo Xcode 6.4 y está bien, sin errores de comstackción.

Omg, este es un excelente error de Xcode. Solo lee esto. http://blog.bellebethcooper.com/xcode-bug.html Me hizo sonreír.

El cambio fue engañosamente pequeño, pero esto es lo que era (dentro de mi clase de cliente API, donde realmente obtengo los datos JSON de la API):

Cambié esto:

 `let json = try? NSJSONSerialization.JSONObjectWithData(data, options: [])` 

a esto:

 `let json = try? NSJSONSerialization.JSONObjectWithData(data, options: []) as! [String: AnyObject]` 

Esta es una de las experiencias de depuración más frustrantes que he tenido, pero espero que esta publicación pueda ayudar a alguien más que tenga el mismo problema. Y si terminaste aquí buscando en Google un error con el que estás luchando y esto no te ayudó, lo siento mucho. Sé exactamente por lo que estás pasando. No te rindas!

Esto indica que falta algún método Required / func en su código. En mi caso, estaba usando ObjectMapper y en mi clase se me olvidó incluir el método required init() que causa este "Command failed due to signal: Segmentation fault: 11"

 required init?(_ map: Map) { } 

Mira la otra advertencia que ves a tu alrededor.

Mi caso me señaló un problema con iOS9 y GoogleAds. Consulte aquí: https://developers.google.com/admob/ios/ios9

La respuesta breve fue deshabilitar la configuración de comstackción ENABLE_BITCODE.

Mi error:

 ld: '/pp/src/shared_js/libs/GoogleMobileAdsSdkiOS-7.3.1/GoogleMobileAds.framework/GoogleMobileAds(GADGestureIdUtil.o)' does not contain bitcode. You must rebuild it with bitcode enabled (Xcode setting ENABLE_BITCODE), obtain an updated library from the vendor, or disable bitcode for this target. for architecture armv7 clang: error: unable to execute command: Segmentation fault: 11 clang: error: linker command failed due to signal (use -v to see invocation) 

Me he enfrentado a este problema muchas veces al convertir varios proyectos a Swift3.0.

Como este tema parece dynamic, cada uno tiene su propia solución, además de cualquier respuesta universal. Pero en este tema, el principal problema es identificar un punto para trabajar. Entonces lo que estoy siguiendo es como a continuación:

  • Identificar el método que uno es responsable del error

    Haga clic en el mensaje de error

enter image description here

  • Aquí identificará la clase responsable del error para generar el error de tiempo de comstackción

    enter image description here

En mi caso, AppDelegate es responsable.

  • Para encontrar la línea de error, vaya al final de la descripción del error largo. Encontrará el código a continuación:

    1. While emitting IR SIL function @_TFC9MyProject11AppDelegate21getNotificationDetailfGSqGVs10DictionaryVs11AnyHashableP___T_ for 'getNotificationDetail' at /Users/ABC/Documents/BitBucket/iOS/2016/Projects/MyProject/AppDelegate/AppDelegate.swift:153:5

Aquí 153 es una línea de código en AppDelegate.swift .

 func getNotificationDetail(_ launchOptions : [AnyHashable: Any]?) { if launchOptions != nil { let dictLaunch = launchOptions! as NSDictionary NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.openRespectiveNotificationScreen), name: NSNotification.Name(rawValue: WebServiceKey.APPMANAGER_SERVICE_CALL_FINISH), object: nil) inactiveUserInfo = dictLaunch.object(forKey: UIApplicationLaunchOptionsKey.remoteNotification) as? NSDictionary } } 

Luego, comente todo el código dentro del método y vuelva a comstackr. Luego prueba descomentar una línea por una, para que finalmente obtengas la línea que genera el error.

Después de encontrar la línea exacta de código, puede solucionarlo fácilmente.

En mi código, la última línea de este método genera error.

Así que lo reemplazo con el código a continuación y se comstack con éxito.

 inactiveUserInfo = dictLaunch[UIApplicationLaunchOptionsKey.remoteNotification] as? NSDictionary 

Entonces lo principal es depurar con cautela. Intente de esta manera, definitivamente resolverá el error fácilmente.

Al principio, recomiendo mirar el registro de comstackción con cuidado para encontrar el archivo que tiene problemas. En mi caso, un valor opcional utilizado en bucle for causó un error de segmentación en el proceso de comstackción.

 for i in 0.. 

Arreglé mi código como siguiendo;

 for i in 0.. 

No tengo ningún error ahora \ (^ O ^) /

Lea el mensaje de depuración con cuidado.

Encontré este error porque utilicé un solo ‘=’ en vez del doble ‘=’ por error en if-statement.

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

Tuve el mismo error debido a:

  let stringB: String? = stringA.characters.count = 0 ? nil : stringA 

La solución fue cambiarlo a:

  let stringB: String? = stringA.characters.count > 0 ? stringA : nil 

Quizás esto ayude a alguien …

Yo tuve el mismo problema. Xcode 7.2.1. Y al seleccionar el error y expandir los registros, pude encontrar el error de comstackción enterrado entre los caminos largos.

Ver la línea después del “1” en la imagen adjunta. Tiene una referencia a un archivo y una línea. Mirándolo, pude encontrar el error.

En mi caso, tenía una asignación de enumeración no válida, moví un poco de lógica de una estructura a una enumeración e inyecté este error:

Tuve:

 return .Success(dict: dict) 

Yo debería:

 return .Success(dict) 

Error de registro después de seleccionarlo en Issue Navigator

Me enfrenté a este error de comstackción en Xcode Versión 7.3 (7D175), proyecto veloz. El siguiente es el escenario:

  1. Declarado “protocolo @objc” en clase rápida
  2. En otra clase que implementa este protocolo, uno de los métodos no opcionales no se implementa

Implementar el método resolvió el problema para mí. Esta podría ser una de las razones para las personas que enfrentan este problema. Espero que esto ayude

Para mí, el problema (XCode 7.3.1) era usar un operador + = en un elemento del diccionario.

por ejemplo:

 func test() { var myDict:[String:String] = [:] myDict["key"] = "pig" myDict["key"] += "dog" var myArray:[String] = [] myArray.append("pig") myArray[0] += "dog" } 

Esto causará una falla de segmentación. Quite el + = en myDict, y todo está bien.

Soy consciente de que esto es un error (las referencias del diccionario son anulables), pero el comstackdor no debería dar un vuelco como este.

desafortunadamente, siempre tengo el mismo error que tú. Sugiero que la mejor manera para usted es recrear un nuevo proyecto con el nuevo Xcode y trasplantar todo el código de este nuevo proyecto; el problema lo resolverá. Por cierto, después de actualizar cualquier lugar como framework o xcode, este error puede ocurrir, la manzana es estúpida.

¿Intentó volver a abrir el proyecto y / o volver a agregar su esquema? Lo hice y el error desapareció.

Tuve el mismo error en mi proyecto después de actualizar a xCode 7. Decidí eliminar la nueva versión de xCode e instalar xCode 6.4. Después de todo, funcionó bien usando xCode 6.4, así que sugiero que hagas eso para empezar. En otras manos, siempre debe estar actualizado, pero también puede tener tanto xCode 6.4 como 7.0 🙂 Espero que esto funcione para usted.

Reinicia xcode. Construcción limpia (cmd + k, cmd + shift + k y limpiar carpeta de comstackción -> opción + cmd + shift + k) Debería solucionar el problema.

Intentaba escribir el NSData en el archivo como el siguiente código.

  if let currentResumeData = currentUserInfo["NSURLSessionDownloadTaskResumeData"] { // the following "do" was giving the above mentioned compile error. do { try currentResumeData.writeToFile(fileNameString, options: .DataWritingAtomic) } catch {} // the above error code. } 

Después de leer varias respuestas en StackOverflow, lo cambié como debajo, lo que eliminó el error.

  if let currentResumeData:NSData = currentUserInfo["NSURLSessionDownloadTaskResumeData"] as? NSData { { do { try currentResumeData.writeToFile(fileNameString, options: .DataWritingAtomic) } catch {} } 

Como puede ver, el comstackdor requirió el tipo apropiado de NSData de la variable “currentResumeData” para llamar a su método .writeToFile.

Estoy seguro de que esto será útil para otros.

Estaba tratando de hacer uso de ?? de una manera inteligente cuando esto me sucedió a mí.

Supongo que rápido no le gusta cuando intentas encadenar varios? juntos como en, aunque el marcador de syntax no arroja ningún error:

 let ageNum = self.ageValue > 0 ?? self.birthday?.ageFromDate() ?? 0 

Para mí, el problema fue cambiar la forma en que verifico si algo era falso. En lugar de:

 if object1.hidden == false { } 

cambiar a:

 if object1.hidden != true { } 

Para mí fue una función larga que contenía la matriz de datos de prueba.

Para mi:

Utilizo Closure como AnyObject, después de usar esta función de Cast clausures / blocks . Error resuelto

 typealias UserCallBack = () -> Void ... if let callBack = callBack as? AnyObject { request?.userInfo["callBack"] = callBack } 

Así es como lo arreglé, primero como lo sugirieron muchos aquí, por favor, lea el registro cuidadosamente. En realidad, le dice exactamente el número de línea donde está fallando y por qué está fallando. Solo comentando que la línea solucionó el problema. En mi caso, fue un error de comprobación de tipo. Estoy usando las estructuras de brillo para el análisis JSON y parece que a medida que profundiza en la jerarquía JSON a veces el analizador en línea no reconoce que hay un problema de tiempo de comstackción. Cuando construyes el proyecto, falla. Idealmente, el error de comprobación de tipo debe ser reconocido por el analizador en línea. Esto puede ser un problema con Xcode, pero es su código el que lo está rompiendo. Cuando leo muchas de las publicaciones, mi análisis es el siguiente … la causa raíz está relacionada con la verificación de tipos. Cuando intenta asignar tipos incorrectos (opcionales o no) y el analizador en línea no lo reconoce en algunos casos. Cuando construyes, lo reconoce y causa un error de segmentación. Es nuestro código eso es incorrecto a pesar de un error con Xcode que se puede arreglar si leemos los registros con cuidado!

Para mí, esto fue causado al declarar una estructura en una extensión de clase final:

 final class X { ... } extension X { struct Y { ... } } 

Tengo un proyecto que sucede en el mismo archivo de vez en cuando. Mi solución es:

Vaya al archivo que mencionó la falla de segmentación, comente todas las importaciones, ejecute (la comstackción falla obviamente), descomente todas las importaciones -> Comstack con éxito.

Mis importaciones fueron Firebase y FirebaseAuth si ayuda a alguien.

Recibí este error al intentar comstackr con Xcode 8.2.1. Estoy usando Cocoa Pods y sospeché que uno de los pods era el problema, ya que algunos de los archivos del pod se referenciaban en el extenso error de salida del comstackdor. Después de salir de Xcode y ejecutar la pod update en el directorio de mi proyecto (a través de Terminal), pude comstackr con éxito cuando volví a abrir mi proyecto.

En mi caso, el elenco que tuve que corregir fue similar a la respuesta de Murat Yasar ( https://stackoverflow.com/a/36867502/512403 ), pero el mío tenía dos partes para corregir. El comstackdor no funcionaba con la corrección original, así que tuve que ajustar mi código aún un poco más:

Mala versión:

 let jsonObject: AnyObject? = try NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) 

Buena versión:

 let jsonObject = try? NSJSONSerialization.JSONObjectWithData(data!, options: NSJSONReadingOptions.AllowFragments) as! [String: AnyObject] 

Tal vez esto pueda ayudar a alguien nuevo en estas peculiaridades de Swift.

El error desapareció al mismo tiempo con la próxima versión de Xcode. Después de algunas investigaciones en los foros de Apple, hubo un error con esa versión del “mejor” IDE de la historia, Xcode. Espera que todas las respuestas hayan ayudado a alguien.