¿Cómo veo qué versión de Swift estoy usando?
Acabo de crear un nuevo proyecto Swift dentro de Xcode. Me pregunto qué versión de Swift está usando.
¿Cómo puedo ver, en Xcode o en la terminal, qué versión de Swift estoy usando dentro de mi proyecto?
Lo que hago es decir en la Terminal:
$ xcrun swift -version
La salida para Xcode 6.3.2 es:
Apple Swift version 1.2 (swiftlang-602.0.53.1 clang-602.0.53)
Por supuesto, eso supone que estás xcrun
apuntando a tu copia de Xcode correctamente. Si, como yo, estás haciendo malabarismos con varias versiones de Xcode, ¡eso puede ser una preocupación! Para asegurarse de que así sea, diga
$ xcrun --find swift
y mira la ruta a Xcode que te muestra. Por ejemplo:
/Applications/Xcode.app/...
Si ese es su Xcode, entonces el resultado -version
es preciso. Si necesita volver a señalar xcrun
, use el menú emergente Herramientas de línea de comandos en el panel de preferencias Ubicaciones de Xcode.
La configuración de compilación del proyecto tiene un bloque 'Compilador Swift - Idiomas', que almacena información sobre la versión del lenguaje Swift en formato clave-valor. Le mostrará todas las versiones de lenguaje Swift disponibles (compatibles) para su Xcode y la versión activa también mediante una marca de verificación.
Proyecto ► (Seleccione el objetivo de su proyecto) ► Configuración de compilación ► (Escriba 'swift_version' en la barra de búsqueda) Idioma del compilador Swift ► Versión del idioma Swift ► Haga clic en la lista de idiomas para abrirla (y habrá una marca de verificación en cualquiera de la lista -item, esa será la versión rápida actual).
Mire esta instantánea para una fácil comprensión:
Con la ayuda del siguiente código, mediante programación puede encontrar la versión Swift compatible con su proyecto.
#if swift(>=5.9)
print("Hello, Swift 5.9")
#elseif swift(>=5.8)
print("Hello, Swift 5.8")
#elseif swift(>=5.7)
print("Hello, Swift 5.7")
#elseif swift(>=5.6)
print("Hello, Swift 5.6")
#elseif swift(>=5.5)
print("Hello, Swift 5.5")
#elseif swift(>=5.4)
print("Hello, Swift 5.4")
#elseif swift(>=5.3)
print("Hello, Swift 5.3")
#elseif swift(>=5.2)
print("Hello, Swift 5.2")
#elseif swift(>=5.1)
print("Hello, Swift 5.1")
#elseif swift(>=5.0)
print("Hello, Swift 5.0")
#elseif swift(>=4.2)
print("Hello, Swift 4.2")
#elseif swift(>=4.1)
print("Hello, Swift 4.1")
#elseif swift(>=4.0)
print("Hello, Swift 4.0")
#elseif swift(>=3.2)
print("Hello, Swift 3.2")
#elseif swift(>=3.0)
print("Hello, Swift 3.0")
#elseif swift(>=2.2)
print("Hello, Swift 2.2")
#elseif swift(>=2.1)
print("Hello, Swift 2.1")
#elseif swift(>=2.0)
print("Hello, Swift 2.0")
#elseif swift(>=1.2)
print("Hello, Swift 1.2")
#elseif swift(>=1.1)
print("Hello, Swift 1.1")
#elseif swift(>=1.0)
print("Hello, Swift 1.0")
#endif
Aquí está el resultado usando Playground (con Xcode 11.x )
Abre la Terminal y escribe:
swift -version