ios - El compilador de Swift 5.1.2 no puede importar el módulo compilado con Swift 5.1.2
xcode swift5.1 (3)
Tengo un marco (en este caso es RxSwift) que he compilado usando Xcode 11.0 en el paquete de estilo tradicional
RxSwift.framework
Esto importó bien en Xcode 11.0 y también 11.1 nunca tuvo ningún problema con él
Hoy, con el lanzamiento de Apple de Xcode 11.2, actualicé y me aparece el error:
El compilador de Swift 5.1.2 no puede importar el módulo compilado con Swift 5.1.2
Estoy acostumbrado a desajustes rápidos del compilador, y sé que puedo recompilar RxSwift usando Xcode 11.2 y continuar, pero la característica principal de Swift 5.1 fue la estabilidad del módulo .
Tenía la impresión de que ahora que tenemos la estabilidad del módulo, los marcos no tendrán que volver a compilarse con cada nueva versión de Xcode, sin embargo, este claramente no es el caso.
Si alguien puede explicar lo que está pasando aquí, lo agradecería mucho. ¿Xcode 11.2 exhibe un error? ¿o de alguna manera necesito decirle que quería estabilidad del módulo cuando compilé originalmente con Xcode 11.0?
Comencé a ver el mismo problema y descubrí que estaba usando las herramientas de línea de comando xcode incorrectas.
Fui a Preferencias> Ubicaciones y cambié las herramientas de línea de comandos de Xcode 11.1 a 11.2.1.
Solo para estar seguro, también borré el directorio de datos derivados y ejecuté
carthage build
.
OK, resulta que si ves el video WWDC, lo explican: https://developer.apple.com/videos/play/wwdc2019/416/
.swiftinterface
establecer la opción
Construir bibliotecas para distribución
en
Sí
en la configuración de compilación de su marco, de lo contrario, el compilador rápido no genera los archivos necesarios
.swiftinterface
, que son la clave para que los futuros compiladores puedan cargar su biblioteca anterior.
Esto termina en su archivo project.pbxproj como:
BUILD_LIBRARY_FOR_DISTRIBUTION = YES;
Después de configurar este indicador, un marco que compilé usando Xcode 11.0 (swift 5.1) pudo compilarse con Xcode 11.2 (swift 5.1.2) y todo parece funcionar correctamente.
Esperemos que esta pregunta / respuesta sirva como una referencia útil para todos los que no han visto todos los videos de WWDC
Tuve el mismo error al importar bibliotecas de terceros. Lo arreglé usando cadenas de herramientas en Xcode y tomando el lanzamiento el 19 de septiembre de 2019 desde aquí https://swift.org/download/#releases . Después de eso tuve que volver a importar mis bibliotecas y funcionó.