Xcode 9 Swift Language Version (SWIFT_VERSION)

Recientemente he actualizado xcode a la versión 9. Antes de eso en Xcode 8.x cada vez que uso para hacer la pod update , me muestra un código de actualización para convertir el código a Swift 3 y hacerlo resuelve los errores. Pero ahora me está dando este error:

La configuración de comstackción “Swift Language Version” (SWIFT_VERSION) debe establecerse en un valor admitido para los destinos que usan Swift. Esta configuración se puede establecer en el editor de configuración de comstackción.

Para este error, probé Build Settings > Swift Language Version y fue Swift 3.2. Pero como la llamada de actualización ha vuelto a instalar algunos de los pods como Alamofire, dice instalar Xcode 8.x para convertir el código a Swift 3, por lo que ¿Necesito instalar una versión adicional con el último Xcode? En caso afirmativo, ¿cómo puedo instalar Xcode 8 con Xcode 9?

Responde a tu pregunta:
Puede descargar Xcode 8.x del Portal de descarga de Apple o Descargar Xcode 8.3.3 (o consulte: Dónde descargar la versión anterior de Xcode ), si tiene una cuenta de desarrollador premium (id de Apple). Puede instalar y trabajar con Xcode 9 y Xcode 8.x en un solo sistema (mac). (Asegúrate de tener Command Line Tools ambas versiones de Xcode, para que funcionen con terminal (ver: Cómo instalar ‘Command Line Tool’ ))

Sugerencia: cómo migrar su código Xcode 9 versiones compatibles de Swift (Xcode 3.2 o 4)
Xcode 9 permite la conversión / migración de Swift 3.0 a Swift 3.2/4.0 solamente. Entonces, si la versión actual del lenguaje Swift de su proyecto está por debajo de 3.0, entonces debe migrar su código en la versión compatible de Swift 3 con Xcode 8.x.

Este es un mensaje de error común que Xcode 9 muestra que identifica el lenguaje Swift debajo de 3.0, durante la migración.

enter image description here

Swift 3.2 es compatible con Xcode 9 y Xcode 8 ambos.

Proyecto ► (Seleccione su objective del proyecto) ► Configuraciones de comstackción ► (Escriba ‘rápido’ en la barra de búsqueda) Idioma del comstackdor Swift ► Versión del lenguaje Swift ► Haga clic en la lista Idioma para abrirlo.

enter image description here

Convierta su código fuente de Swift 2.0 a 3.2 usando Xcode 8 y luego continúe con Xcode 9 (Swift 3.2 o 4).

Para facilitar la migración de su código, siga estos pasos: (le ayudará a ocultarse en la última versión de swift compatible con su herramienta Xcode)

Xcode: Menús: Editar ▶ Covert ▶ Hasta la syntax Swift actual

enter image description here

Para proyectos de Objective C creados con Xcode 8 y ahora abiertos en Xcode 9, muestra el mismo error que se menciona en la pregunta.

Para solucionarlo, presione el botón + en Configuración de comstackción y seleccione Agregar configuración definida por el usuario como se muestra en la imagen a continuación.

configuración de construcción

Luego, en la nueva fila creada, agregue SWIFT_VERSION como clave y 3.2 como valor a continuación.

enter image description here

Corregirá el error para proyectos objectives c.

Simplemente hago clic en el último botón de conversión rápida y establezco la configuración de comstackción de destino de la aplicación-> Swift language version: swift 4.0,

Espero que esto ayude

En mi caso, todas las advertencias desaparecieron después de que cambié directamente la versión rápida de 2.x a 4.0 en la configuración de comstackción, excepto dos advertencias.

Estas advertencias están relacionadas con las myprojectnameTests y myprojectnameUITests . No me di cuenta y pensé que estaba relacionado con la inmigración directa de Xcode 7 a Xcode 9 y pensé que no podría resolver este problema y debería instalar la versión perdida de Xcode 8.

En mi caso, eliminé estas carpetas y todas las advertencias desaparecieron, pero puedes volver a crear esta carpeta y contiene usar esto:

file > new > target > (uitest or unittest extensions)

y use este artículo para crear casos de prueba: https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/testing_with_xcode/chapters/04-writing_tests.html