Recientemente he xcode actualizado a la versión 9. Antes de que en Xcode 8.x siempre que uso para hacer pod update me muestra un código de actualización para convertir el código Swift 3 y haciendo que resolver los errores. Pero ahora me da este error:

El «Swift Versión de Idioma» (SWIFT_VERSION) construir valor se debe establecer
para un valor compatible con los objetivos de que el uso de Swift. Esta configuración puede ser
establecer en la configuración de generación editor.

De este error, he probado con Build Settings > Swift Language Version y fue Swift 3.2
Pero como la actualización de la llamada ha de volver a instalar algunas de las vainas como Alamofire y dice que para instalar Xcode 8.x para convertir el código Swift 3 por lo que necesito para instalar una versión adicional con la última versión de Xcode? Si sí, entonces ¿cómo puedo instalar Xcode 8 con Xcode 9?

  • trate de limpiar la Derivada de los Datos y construir el proyecto en Xcode 9.
  • ¿Cuál es tu swift versión de Xcode 8??
  • fue 8.3.3 creo. fue la última antes de xcode 9.

8 Comentarios

  1. 171

    Respuesta a su pregunta:

    Puede descargar Xcode 8.x de Portal De Descargas De Apple o Descargar Xcode 8.3.3 (véase: De donde descargar una versión antigua de Xcode), si usted ha premium cuenta de desarrollador (id de apple). Usted puede instalar & trabajar con ambos Xcode 9 y Xcode 8.x en un solo (mac) del sistema. (Asegúrese de que ha Command Line Tools el apoyo tanto de la versión de Xcode, para trabajar con el terminal (ver: Cómo instalar ‘Herramienta de Línea de Comandos’))


    Sugerencia: Cómo migrar el código de Xcode 9 compatible Swift versiones (Swift 3.2 o 4)

    Xcode 9 permite la conversión/migración de Swift 3.0 a Swift 3.2/4.0 sólo. Así que si la actual versión de Swift idioma de su proyecto está por debajo de 3.0 a continuación, usted debe migrar el código Swift de 3 versión compatible con Xcode 8.x.

    Este es el mensaje de error común que Xcode 9 muestra si se identifica Swift lengua por debajo de 3.0, durante la migración.

    Xcode 9 Swift Versión de Idioma (SWIFT_VERSION)

    Swift 3.2 es apoyado por Xcode 9 & Xcode 8.

    Proyecto ► (Seleccione Su Proyecto de Destino) ► Configuración de generación ► (Tipo «swift» en la barra de búsquedas) Swift Compilador de Lenguaje ► Swift Versión de Idioma ► haga Clic en el Idioma de la lista para abrirlo.

    Xcode 9 Swift Versión de Idioma (SWIFT_VERSION)

    Convertir el código fuente de Swift 2.0 3.2 utilizando Xcode 8 y, a continuación, continuar con Xcode 9 (Swift 3.2 o 4).


    Para facilitar la migración de su código, siga estos pasos: (le ayudará a convertir en la más reciente versión de swift apoyado por su Herramienta Xcode)

    Xcode: Menús: Editar ▶ Encubierta ▶ Actual Swift Sintaxis

    Xcode 9 Swift Versión de Idioma (SWIFT_VERSION)

    • Si has llegado aquí porque estás solo ahora (Diciembre de 2018) desempolvar algunos de Swift 2 código, vas a ser decepcionado al enterarse de que Xcode 8 no se ejecuta en Mojave.
  2. 52

    Para Objective C, los Proyectos creados con Xcode 8 y ahora la apertura en Xcode 9, se muestra el mismo error, como se menciona en la pregunta.

    Para arreglar eso, Pulse el botón + en la Acumulación de Configuración y seleccione Agregar Configuración Definida por el Usuario como se muestra en la imagen de abajo

    Xcode 9 Swift Versión de Idioma (SWIFT_VERSION)

    A continuación, en la nueva fila creado agregar SWIFT_VERSION como clave y 3.2 como valor, como el de abajo.

    Xcode 9 Swift Versión de Idioma (SWIFT_VERSION)

    Va a solucionar el error de objetivo c proyectos.

    • Esto me ayudó. Gracias.
    • De bienvenida. Este comentario me hizo feliz 🙂 @akr
    • Si usted está teniendo este problema con CocoaPods, usted puede ser que necesite para agregar esta compilación de ajuste a las vainas.xcodeproject sección.
    • Esto funcionó . . Gracias bro @R. Mohan
    • Esto funcionó para mí también he tenido que modificar el ‘ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES’ en la configuración de generación a ‘$(heredado)’
    • Gracias de nuevo 2 meses más tarde
    • Apreciar la solución.

  3. 4

    Acabo de recibir este después de la creación de un nuevo Objetivo-C proyecto en Xcode 10, después he añadido un Núcleo del modelo de Datos de archivo para el proyecto.

    He encontrado dos formas de solucionarlo:

    1. De la Manera más Fácil: Abrir el Núcleo del modelo de Datos de Archivo del Inspector (1) y cambiar el idioma de Swift a Objective-C

    Xcode 9 Swift Versión de Idioma (SWIFT_VERSION)

    1. Más peligrosas método

    El modelo contiene un «contenido» línea en el archivo:

    <model type="com.apple.IDECoreDataModeler.DataModel" documentVersion="1.0" lastSavedToolsVersion="14460.32" systemVersion="17G5019" minimumToolsVersion="Automatic" sourceLanguage="Swift" userDefinedModelVersionIdentifier="">

    Hay un sourceLanguage="Swift" entrada. Cambiar a sourceLanguage="Objective-C" y el error desaparece.

    Para encontrar el «contenido» del archivo, haga clic derecho en el .xcdatamodeld en Xcode y hacer «Mostrar en el Finder». Haga clic derecho en la real (Finder) archivo y hacer «Mostrar Contenido del Paquete»

    También: Cambiar el modelo de la lengua dejará de Xcode desde la generación conseguido el objeto de la subclase de los archivos en Swift.

  4. 1

    Esto puede suceder cuando se agregan los Datos de los núcleos existentes en un proyecto.

    Compruebe el:

    <Nombre>/<Nombre>.xcdatamodeld/<Nombre>.xcdatamodel/contenido
    archivo.

    Este archivo contiene una entrada «sourceLanguage» que (por defecto) podría haber sido ajustado a «Swift». El cambio a «Objective-C».

  5. 0

    Me basta con hacer clic en la última swift botón convertir y configurar Aplicación objetivo de construir configuración-> Swift versión de idioma: swift 4.0,

    Espero que esto ayude.

  6. 0

    Esta Solución funciona cuando nada más funciona:

    Me pasó más de una semana para convertir el proyecto en su totalidad y se llegó a la solución siguiente:

    Primera, de integrar a los cocopods dependencia del proyecto y, a continuación, iniciar la conversión de los proyectos a la última swift versión.

    Ir al Directorio del Proyecto en el Terminal y Escriba:

    pod deintegrate

    Esta voluntad de integrar cocopods desde el proyecto y No hay rastro de CocoaPods se queda en el proyecto. Pero, al mismo tiempo, no eliminar la xcworkspace y podfiles. Está bien si están presentes.

    Ahora tienes que abrir xcodeproj(no xcworkspace) y obtendrá un montón de errores, debido a que han llamado cocoapods dependencia de los métodos en sus principales proyectos.

    Para eliminar los errores que tiene dos opciones:

    1. Comentario abajo todo el código que se ha utilizado de cocoapods biblioteca.
    2. Crear una clase contenedora que ha ficticio métodos similares a cocopods de la biblioteca y, a continuación, llamar.

    Una vez que todos los errores se eliminan usted puede convertir el código a la última swift versión.

    A veces, si usted está recibiendo errores extraños, a continuación, intente limpiar los datos obtenidos e inténtelo de nuevo.

  7. 0

    tal vez usted necesita para descargar herramientas.
    Este error se produce cuando no se tiene a la derecha la versión de swift compilador.

  8. -4

    En mi caso, todos los advertir desapareció después me cambiaron directamente swift versión de 2.x a 4.0 en la configuración de generación, excepto dos de advertir.

    Estos advertencia relacionada con myprojectnameTests y myprojectnameUITests carpeta. Yo no me di cuenta y pensé que su se relacionan directa de la inmigración desde Xcode 7 a Xcode 9 y pensé que no podía resolver este problema y que debo instalar perdidas Xcode 8 versión.

    En mi caso, he eliminado estas carpetas y todas advierte desaparecido, pero puede volver a esta carpeta y contiene el uso de este:

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

    y utilizar 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

    • y que alguien me diga cuál es mi error!?
    • Yo personalmente no downvote esto, no hay nada mal con su respuesta, pero el mejor lugar será para comentar sobre el OP pregunta. También puedes echar un vistazo en stackoverflow.com/help/how-to-answer, que le ayudará a dar con la forma correcta de responder a las preguntas.

Dejar respuesta

Please enter your comment!
Please enter your name here