ios - El módulo compilado con Swift 4.1.2 no se puede importar en Swift 4.1.50: Error de Xcode 10
cocoapods carthage (5)
Debe cambiar la versión beta de Xcode en el terminal. Y eliminar el documento de Cartago de la versión anterior en su proyecto. actualizar carthage carthage update --platform iOS --no-use-binaries
.
Swift 4.2 salió y recibo este mensaje de error en mi proyecto cuando uso ObjectMapper
y algunos otros pods también:
El módulo compilado con Swift 4.1.2 no se puede importar en Swift 4.1.50
Entonces, ¿cómo le digo a Xcode que comience a actualizar mi proyecto y lo migre a Swift 4.2?
Ejecute este comando a continuación en el directorio de su proyecto usando el terminal. Se actualizará su pod. Espero que resuelva tu problema.
pod update ObjectMapper
En Swift 4.2 hay un cambio en la implementación de Implicitly Unwrapped Optional (IUO) , según el blog swift ahora implícitamente descomprimido opcional T! será considerado como T? con un indicador adicional para que el compilador sepa que es un implícito desenvolver opcional.
¡El nuevo modelo mental para IUOs es uno que consideras! ser sinónimo de? con la adición de que agrega un indicador en la declaración para que el compilador sepa que el valor declarado puede ser desempaquetado implícitamente.
Debido a este cambio, puede haber algún problema de compatibilidad de origen que puede requerir que modifique su código antes de que se compile correctamente.
En Swift 3, declaraciones como var a: Int? daría como resultado un tipo having opcional, y declaraciones como var b: String! daría lugar a que b tuviera el tipo ImplicitlyUnwrappedOptional. Cambió en Swift 4.2, por lo que muestra un error de visualización para ObjectMapper para Xcode 10 que viene con swift 4.2 y se realizó una implementación similar para 3. * para Xcode 10.
En la biblioteca de Objectmapper hay algunas declaraciones de funciones que mostraban advertencias anteriores para Swift 4.1, que ahora se muestran como error para Swift 4.2. Consulte la imagen de abajo para ver las advertencias en Xcode 9.4 y swift 4.1
Hay algunas solicitudes de extracción en el repositorio ObjectMapper GitHub que ha solucionado el problema, pero están esperando la nueva versión beta de Xcode según las discusiones, ya que está utilizando la función de directiva compatible que se aceptó recientemente y se lanzará con la nueva versión beta de Xcode.
Actualización: El problema se soluciona en la versión ObjectMapper 3.3.0.
No está compilando su módulo de Cartago con la versión swift adecuada. Así que necesitas:
- Asegúrese de que su terminal apunte a su aplicación Xcode 10 Beta y no a su Xcode regular:
sudo xcode-select -switch Xcode_beta_10.app
- Actualiza tus archivos de Cartago:
actualización de cartago - plataforma iOS - no-uso-binarios
- Vuelve a tu proyecto en Xcode, limpia, construye.
También tuve el mismo problema con Alamofire.
Mi solucion fue
- limpiar mi compilación
- vaya a
File/Workspace Settings
y asegúrese de estar usandoLegacy Build System
forBuild System
. Y entonces el problema se ha ido.