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 imposent désormais une cible de déploiement minimale de iOS 7 ou OS X Mavericks. La définition d'une cible de déploiement antérieure entraîne l'échec de la construction.
Extrait de la note de publication de Xcode 6
Ma réponse précédente (ci-dessous) ne sera donc pas applicable à tout développement ultérieur. Swift ne sera plus disponible pour iOS6 et les versions inférieures.
Une application Swift peut être exécutée sur iOS 6. Même si beaucoup de gens disent que Swift ne supportera 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. Elle fonctionne parfaitement bien . Comme le dit Apple, le code Swift est binairement compatible 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, qui consiste à ajouter un bouton de manière programmatique. Mon application ne contient que deux fichiers, AppDelegate.swift
y ViewController.swift
.
Ainsi, si vous n'utilisez pas les nouvelles API ajoutées dans le cadre du SDK iOS 8 ou 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 ultérieur (testé et fonctionnel), 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, elles sont identiques en binaire.
Note : Selon Xcode 6 beta 4 pour les applications swift, la cible de déploiement doit être iOS 7 ou OS X 10.9 (voir la mise à jour ci-dessus). Swift ne sera donc plus disponible pour iOS6 et les versions inférieures.
51 votes
En supposant que Swift soit compilé dans un exécutable " normal " et qu'aucune bibliothèque d'exécution spécifique à Swift ne soit nécessaire dans le système d'exploitation, alors oui, il devrait fonctionner sur les anciens systèmes. Mais nous ne le savons pas encore. Téléchargez Xcode 6 et essayez-le.
12 votes
Une réponse officielle sera trouvée dans la vidéo sur l'état de l'Union.
3 votes
@rmaddy Pour information : lors de la WWDC, il a été clairement indiqué dans la présentation de Swift que Swift et Objective-C ont le même runtime.
1 votes
Il est de notoriété publique, et il a même été mentionné dans la keynote, qu'il fonctionne sur ces systèmes d'exploitation.
0 votes
Dans la version bêta 3 de Xcode 6, le compilateur Swift n'accepte plus les API dépréciées dans les versions 10.9 et inférieures, ce qui rend encore plus difficile le rétroportage du code actuel pour qu'il fonctionne avec les anciennes versions du système d'exploitation.
0 votes
Pas besoin de s'inquiéter de... Apple : 80 pour cent des utilisateurs actifs utilisent désormais iOS 7 - arstechnica.com/apple/2014/01/
1 votes
Mise à jour de Swift 2.0 : iOS 7 / 10.9 comme Swift 1.0. [Voir ma réponse ici] [1] [1] : stackoverflow.com/a/31702716/201199
5 votes
Cette question est celle qui est utilisée comme exemple sur le site Web de la Commission européenne. page de la tournée .
0 votes
Le score de ce poste est bien supérieur à 14...