Actualización: según Xcode 6 Beta 4
Objetivo de implementación mínima de iOS 7 y OS X 10.9
El compilador Swift y Xcode ahora imponen un objetivo de implementación mínimo de iOS 7 u OS X Mavericks. Establecer un objetivo de implementación anterior resulta en un error de compilación.
De la nota de lanzamiento de Xcode 6
Por lo tanto, mi respuesta anterior (mostrada a continuación) no será aplicable a ningún desarrollo posterior. Swift ya no estará disponible para iOS6 y versiones inferiores
Una aplicación Swift se puede ejecutar en iOS 6. Aunque muchas personas dicen que Swift solo admitirá iOS 7+ y OS X 10.9+, desde mi experiencia no lo es.
He probado una aplicación simple escrita completamente en Swift en un dispositivo iOS 6. Funciona perfectamente bien . Como dice Apple, el código Swift es binario compatible con el código Objective-C. Utiliza el mismo compilador y tiempo de ejecución para crear el binario.
Aquí está el código que he probado:
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let button = UIButton.buttonWithType(UIButtonType.System) as UIButton
button.frame = CGRectMake(100, 100, 100, 50)
button.backgroundColor = UIColor.greenColor()
button.setTitle("Test Button", forState: UIControlState.Normal)
button.addTarget(self, action: "buttonTapped:", forControlEvents: UIControlEvents.TouchUpInside)
self.view.addSubview(button)
}
func buttonTapped(sender: UIButton!) {
println("buttonTapped")
}
}
Es una aplicación simple, solo agrega un botón mediante programación. Mi aplicación contiene solo dos archivos AppDelegate.swift
y ViewController.swift
.
Entonces, si no está utilizando ninguna nueva API agregada como parte del SDK de iOS 8 o algunas API específicas de Swift (la API correspondiente no está disponible para Objective-C), su aplicación funcionará sin problemas en iOS 6 o posterior (probado y funcionando), incluso en iOS 5 (no probado). La mayoría de las API en Swift son solo el reemplazo de las API existentes de Objective-C. De hecho, son lo mismo en binario.
Nota: Según Xcode 6 beta 4 para el objetivo de implementación de aplicaciones rápidas, debe ser iOS 7 u OS X 10.9 (consulte la actualización anterior). Así que Swift ya no estará disponible para iOS6 y versiones inferiores