Mise à jour - selon Xcode 6 Beta 4
Cible de déploiement minimale pour iOS 7 et OS X 10.9
Le compilateur Swift et Xcode appliquent désormais une cible de déploiement minimale d'iOS 7 ou OS X Mavericks. La définition d'une cible de déploiement antérieure entraîne un échec de génération.
À partir de la version Xcode 6
Donc, ma réponse précédente (illustrée ci-dessous) ne sera applicable à aucun développement ultérieur. Swift ne sera plus disponible pour iOS6 et versions antérieures
Une application Swift peut être exécutée sur iOS 6. Même si beaucoup de gens disent que Swift ne prendra en charge que iOS 7+ et OS X 10.9+, d'après mon expérience, ce n'est pas le cas.
J'ai testé une application simple écrite entièrement en Swift dans un appareil iOS 6. Cela fonctionne parfaitement bien . Comme le dit Apple, le code Swift est compatible binaire avec le code Objective-C. Il utilise le même compilateur et le même runtime pour créer le binaire.
Voici le code que j'ai testé:
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")
}
}
Il s'agit d'une application simple, ajoutant simplement un bouton par programme. Mon application ne contient que deux fichiers, AppDelegate.swift
et ViewController.swift
.
Donc, si vous n'utilisez pas de nouvelles API ajoutées dans le cadre du SDK iOS 8 ou de certaines API spécifiques à Swift (l'API correspondante n'est pas disponible pour Objective-C), votre application fonctionnera de manière transparente sur iOS 6 ou version ultérieure (testée et opérationnelle), même sur iOS 5 (non testé). La plupart des API de Swift ne sont que le remplacement des API Objective-C existantes. En fait, ils sont les mêmes en binaire.
Remarque: Conformément à Xcode 6 beta 4 pour la cible de déploiement d'applications rapides, iOS 7 ou OS X 10.9 (voir la mise à jour ci-dessus). Swift ne sera plus disponible pour iOS6 et versions antérieures