es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Conflicto de versión de Swift: este SDK no es compatible con el compilador. Por favor, seleccione una cadena de herramientas que coincida con el SDK.

Estoy utilizando xCode 13.1 con macOS 12.0.1 Monterey. Agregué “KingFisher” y lo eliminé de mi pod, pero mi proyecto ya no se compila. Obtuve este error para uno de mis SDK locales:

No se pudo compilar el módulo ‘CbSdk’; este SDK no es compatible con el compilador (el SDK se ha construido con ‘Apple Swift versión 5.4 (swiftlang-1205.0.26.9 clang-1205.0.19.55)’, mientras que este compilador es ‘Apple Swift versión 5.5.1 (swiftlang-1300.0.31.4 clang-1300.0.29.6)’). Por favor, seleccione una cadena de herramientas que coincida con el SDK.

Lo que he intentado pero no funcionó:
– “pod deintegrate” y “pod install”.
– Reiniciar xCode borrando la memoria caché y “DerivedData”.
– Revisar la rama antigua y el commit que funcionaba antes.
– Mover el código a otro MacBook que funcionaba antes.
– Descargar, instalar y seleccionar la cadena de herramientas 5.4 (aparecieron errores extraños -> ).
– Cambiar el lenguaje del compilador Swift de mi destino y proyecto a Swift 4 (¡Dice que estás utilizando Swift 5.5.1 de nuevo!).
– ¡Ten en cuenta que no actualicé xcode ni swift!

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Como experto en TI especializado en Swift, Xcode y CocoaPods, el mensaje de error indica que el SDK local “CbSdk” se compila con una versión diferente de Swift a la versión actual del compilador de Swift en uso. El error sugiere seleccionar una cadena de herramientas que coincida con el SDK. Sin embargo, parece que ya has intentado varias soluciones para solucionar el error, pero ninguna de ellas funcionó.

    Las soluciones que has intentado incluyen pod deintegrate y pod install, reiniciar Xcode eliminando la caché y los datos derivados, revisar ramas y commits antiguos, mover el código a otro MacBook, descargar e instalar la cadena de herramientas 5.4, cambiar el lenguaje del compilador de Swift de tu proyecto a Swift 4. Sin embargo, ninguna de estas soluciones funcionó.

    El mensaje de error menciona que “CbSdk” se compila con la versión Swift 5.4, mientras que el compilador actual es Swift 5.5.1. Dado que el error ocurrió después de agregar y eliminar “KingFisher”, es posible que haya un conflicto en la versión de Swift porque “KingFisher” puede requerir una versión diferente de Swift que el SDK local.

    Puedes intentar las siguientes soluciones adicionales:

    1. Verifica si existen dependencias dentro de “CbSdk” que puedan requerir una versión diferente de Swift. Puedes intentar actualizar esas dependencias o buscar una versión de “CbSdk” que coincida con tu versión actual de Swift.
    2. Verifica si existen versiones conflictivas de “CbSdk” en tu proyecto. Es posible que tengas múltiples versiones de “CbSdk” que están causando un conflicto. Intenta eliminar todas las versiones de “CbSdk” y reinstalarlo con la versión correcta que coincida con tu versión actual de Swift.

    3. Verifica si existen otras dependencias en tu proyecto que puedan requerir una versión diferente de Swift. Puedes intentar actualizar esas dependencias, buscar una versión que coincida con tu compilador actual o bajar la versión de Xcode para que coincida con la versión de Swift requerida.

    Esperemos que una de estas soluciones te ayude a resolver el problema.

Comments are closed.