pods guide cocoapod actualizar ios xcode swift3 cocoapods

ios - guide - Los siguientes pods están integrados en objetivos que no tienen la misma versión de Swift.



cocoapods xcode 10 (6)

Estoy actualizando mi proyecto a Swift 3. Al actualizar algunos de mis cocoapods a swift 3, recibo el siguiente mensaje en la terminal, después de ejecutar la instalación del pod:

Analyzing dependencies [!] The following pods are integrated into targets that do not have the same Swift version: - AWSCore required by myApp (Swift 3.0.1), myApptests (Swift 3.0) - AWSS3 required by myApp (Swift 3.0.1), myApptests (Swift 3.0) - Alamofire required by myApp (Swift 3.0.1), myApptests (Swift 3.0)

Hay un largo hilo aquí: https://github.com/CocoaPods/CocoaPods/issues/5864 sobre el problema, y ​​probé la solución propuesta, pero cuando ejecuto la instalación del pod, todavía recibo el mismo mensaje.

Aquí está mi archivo pod:

Fuera del enlace dado no he encontrado mucho sobre este tema. ¿Alguien más experimentó el mismo problema? ¿Alguna solución? Acabo de instalar Xcode 8.1 y Swift 3.0.1 el fin de semana pasado.


Cuando abrí mi archivo xcodeproj , se mostraba 3.2 , pero cuando ejecuté git diff , noté que el project.pbxproj tenía todo como Swift 3.0.

La actualización manual de las variables SWIFT_VERSION a 3.2 con un editor de texto resolvió la discrepancia.

Recomiendo esto como último recurso solamente!


Este problema empeora con Xcode 9 ya que admite las versiones swift 3.2 y 4.0, pero Cocoa Pods todavía no admite esto:

[!] The following pods are integrated into targets that do not have the same Swift version: - XCGLogger required by target1 (Swift 4.0), target2 (Swift 3.0)

Solución alternativa: cambie target1 a swift 3.2 temporalmente, instale vainas de cacao y luego vuelva a cambiar a swift 4.0.


He resuelto el problema de esta manera:

  1. Tenía dos objetivos: el proyecto principal y los objetivos de las pruebas.
  2. El objetivo de mi proyecto principal era "Usar la versión de Swift Language heredada" (en Configuración de compilación) a "Sin especificar (3.0)".
  3. Configuré ''Usar la versión de Swift Language'' en ''No'' y funcionó bien.

Para la aplicación CocoaPods v.1.1.1, este problema se resolvió configurando Use legacy Swift Language Version como No Unspecified en la sección Build Settings para todos los destinos.

Probablemente sea un error de aplicación: todos los objetivos tenían la misma configuración, pero la aplicación CocoaPods se quejaba solo de uno de ellos.

UPD : para poder compilar el proyecto tuve que volver a cambiarlo de Unspecified a No


Sé que esta publicación es antigua pero resolví un problema reciente cuando actualicé mi proyecto swift3 a swift4 con Xcode9, el problema decía: [!] The following pods are integrated into targets that do not have the same Swift version:

Appsee required by MyApp (Swift 4.0), MyAppUnitTest (Swift 3.0) ... Allpods

Mi solución fue: con mi objetivo principal MyApp con la versión swift en 4.0, también actualicé mi versión de UnitTest a 4.0 en Build Settings -> Swift Language Version


Tuve el problema con un objetivo con una diferencia de 3.0 a 3.0.1

Lo resolví editando manualmente el archivo de proyecto (project.pbxproj) y cambié 3.0; con 3.0.1;