swift xcode cocoapods cocoalumberjack cocoalumberjack-swift

Error de instalación de Cocoa Pod: "El objetivo anula la configuración de compilación SWIFT_VERSION"



xcode cocoapods (3)

Estoy intentando instalar Cocoalumberjack como un pod y obtengo este error:

El destino ProjectName [Release] anula la SWIFT_VERSION compilación SWIFT_VERSION definida en `Pods / Target Support Files / Pods-ProjectName / Pods-ProjectName.release.xcconfig ''. Esto puede llevar a problemas con la instalación de CocoaPods.

El archivo pod xcconfig contiene esto:

SWIFT_VERSION = 3.0

Pero mi proyecto ya está usando swift 3. así que no entiendo por qué hay este desajuste.

xcrun swift -version

Apple Swift versión 3.0 (swiftlang-800.0.46.2 clang-800.0.38)

Sin embargo, no puedo ver una SWIFT_VERSION en particular en ninguna parte de la configuración de compilación de Xcode, ni si escribo rápido como el término de búsqueda en la configuración de compilación de Xcode, puedo ver cualquier cosa que parezca un número de versión rápida.

Además, la instalación del módulo continúa diciendo: "Use el indicador $(inherited) " para resolver el problema. Sin embargo, mi configuración de compilación Xcode, otros indicadores del vinculador ya tienen este indicador $ (heredado), ¿por qué no está solucionando el problema?

(Xcode 8)


Debe eliminar cualquier configuración de compilación anulada "Usar versión de idioma de Swift heredada" de sus objetivos.


Es un poco no intuitivo, pero lo que tienes que hacer es:

1) Busque "SWIFT_VERSION" en la configuración de su proyecto

2) verá una entrada que dice "Usar versión de idioma de Swift heredada"

  • Si ya ha seleccionado algún valor, se mostrará en BOLD.

3) Seleccione la entrada (no el valor) y presione "BORRAR", la audacia debería desaparecer.

4) Repita los mismos pasos pero ahora para su objetivo (el que tiene el ícono de la aplicación)

5) Cerrar XCode

6) Ejecute "pod install" de nuevo

7) Abra su proyecto y LIMPIE (Shift + Command + K)

Ahora debería estar funcionando correctamente.

NOTA:

Específicamente para "Cocoalumberjack" asegúrese de que su pod esté instalando la versión 3.0+, si no se ejecuta una "actualización de sudo pod", ya que las versiones anteriores no funcionarán con Swift 3.

EDITAR:

Estoy bastante seguro de que el manejo de cocodrilos de esto es un poco defectuoso en este momento, como lo he experimentado algunas veces funciona y otras no. Sin embargo, tenga en cuenta que puede establecer el indicador "SWIFT_VERSION" directamente por marco:

1) Seleccione el proyecto Pods (dentro de su proyecto).

2) Seleccione el objetivo que desea establecer y busque el indicador "SWIFT_VERSION" específicamente para ese objetivo.

3) Limpiar y reconstruir.


Eso no es exactamente útil ya que no hay manera de eliminarlo.

Usted hereda el valor, o asigna un valor, y no hay forma de volver al valor de $ (heredado) después de una asignación debido a la forma en que la interfaz de usuario se basa en xcode (en algunas opciones tiene un valor "personalizado" donde puede agregar esto, pero no en todos los tipos de valores).

Así que es un callejón sin salida sin soluciones reales.