Xcode 11.4 - Proyecto de archivo - Falla de segmentación 11

12

Acabo de actualizar Xcode a 11.4 y al archivar un proyecto me muestra 'Fallo de segmentación 11'

Este proyecto se archivaría con Xcode 11.3.1 pero ahora no.

¿Alguien más se encontró con el mismo problema?

ingrese la descripción de la imagen aquí

Editar: 15 de abril de 2020

Apple acaba de lanzar Xcode 11.4.1

Artur Marchetto
fuente
Echa un vistazo a esta publicación: stackoverflow.com/a/42168123/2583679
Tom
3
@Tom gracias, sin embargo, eso no lo soluciona ... estoy bastante seguro de que es un error de Apple
Artur Marchetto

Respuestas:

11

Me he encontrado con el mismo problema. El archivado utiliza la configuración de creación de versiones, por lo que revisé cada configuración del compilador para determinar cuáles de las diferencias conducen a estas fallas de segmentación.

En mi caso, el problema desaparece cuando cambio la configuración Activar testabilidad a para la versión .

No, no tengo idea de cuáles son las desventajas de esto en el archivo o la versión de lanzamiento, o de hecho por qué esta configuración en particular alivia el problema, pero al final del día, tengo un proyecto que ha tomado un año para llegar a esta etapa y estoy muy interesado en llevar esto a los beta testers internos, así que lo enviaré a través de un vuelo de prueba y veré cómo me va.

Mi sensación es que este es definitivamente un error de Apple, ya que el compilador no debería ser Seg Faulting en absoluto. El hecho de que se compila bajo la configuración de Depuración le da soporte a esto. Mi proyecto es tan grande que no sé cómo reproducirlo para enviar un error, pero veré si puedo obtener alguna respuesta en los foros de Apple.

David Monagle
fuente
Me encontré con el mismo problema en Xcode 11.4.1, cambiar esta configuración también funcionó para mí. Los documentos dicen que esta bandera tiene que ver con hacer accesibles las interfaces privadas, por lo que tal vez haya algo allí ... Cuando se active esta configuración, el producto se creará con opciones apropiadas para ejecutar pruebas automatizadas, como hacer que las interfaces privadas sean accesibles para el pruebas Esto puede provocar que las pruebas se ejecuten más lentamente de lo que lo harían sin la capacidad de prueba habilitada.
keegan3d
5

Para mí ayudó a encontrar el problema cuando configuré la configuración de compilación SWIFT_COMPILATION_MODEpara wholemodule. Luego, después de compilar, apareció un error más específico que condujo a la función de clase que causó el error. Luego lo volvió a cambiar como estaba.

Quizás también te ayude.

En mi caso, se utilizó un operador ternario para el conjunto de parámetros de entrada init. Parece que Swift 5.2 ya no lo admite.

// Leads to error with Xcode 11.4
init(value: UIColor = Constants.staticBoolean ? .white : .green)
Muestras
fuente
2
¡¡Muchas gracias!! ¡¡me has alegrado el día!!
nomnom
3
Eso también corrige mi error de tiempo de compilación. Un operador ternario en el parámetro predeterminado es el culpable. Espero que Apple arregle el error pronto.
Dao Xiang
2
No estoy reproduciendo con Swift master branch github.com/apple/swift/tree/master . Entonces, tal vez ya está arreglado.
Coeur
1

En mi caso tuve un error con Eureka pod

Segmentation fault: 11 (in target 'Eureka' from project 'Pods')

En el archivo Pods, proporcioné la última versión:

pod 'Eureka', '~> 5.2.1'

Establezca también SWIFT_COMPILATION_MODEestablecer en wholemodule.

Landonandrey
fuente
0

Me cambié #imageLiteral(resourceName: "image_name")aUIImage(imageLiteralResourceName: "image_name")

susemi99
fuente
0

Al igual que otros respondedores, hubo un problema de SwiftUI enterrado en los mensajes de error aquí (usando Xcode 11.4). En mi caso, el uso de .embedInScrollView()estaba causando el error de compilación. Deshabilitar esas llamadas lo arregló. Como solución alternativa, puse .embedInScrollView()en un ViewModifier, así:

public struct WrapInScrollView: ViewModifier {
    public func body(content: Content) -> some View {
        content
            .embedInScrollView()
    }

    public init() {}
}

Luego uso ese modificador un poco como la llamada original, así:

.modifier(WrapInScrollView())

Esto significa que aún puede incrustar en un scrollView pero los errores de Seg 11 desaparecen.

Luke Smith
fuente
0

Desafortunadamente, la solución Enable Testability no funcionó para mí.

Una solución temporal (hasta que Apple solucione el problema del compilador Xcode 11.4 Swift) es cambiar el Nivel de optimización a " Sin optimización " para el lanzamiento, en el destino que falla ( SWIFT_OPTIMIZATION_LEVEL = "-Onone";). Funciona en nuestro proyecto, que se divide en múltiples marcos. Solo hay que configurarlo -Onone.

Pero la documentación de Apple le pide que no envíe su código con esta bandera . Es para desarrollo, realiza optimizaciones mínimas y conserva toda la información de depuración.

Creo que tenemos que esperar: '(

jc_35
fuente
-1

Estaba recibiendo esta excepción, y los registros de archivo me ayudaron a comprender que estaba dentro de un archivo SwiftUI en particular. Por proceso de eliminación, resulta que me había dejado contentInsets()y alwaysBounceVertical()modificadores en una VStackque no era parte de una List:

VStack {
    // more stuff
}
.contentInsets(UIEdgeInsets(top: 20, left: 0, bottom: 0, right: 0))
.alwaysBounceVertical()

La eliminación de estos modificadores permitió que el archivo de lanzamiento se completara con éxito.

Sam Mueller
fuente