Aktualizacja - zgodnie z Xcode 6 Beta 4
Minimalne miejsce docelowe wdrożenia w systemie iOS 7 i OS X 10.9
Kompilator Swift i Xcode egzekwują teraz minimalny cel wdrożenia systemu iOS 7 lub OS X Mavericks. Ustawienie wcześniejszego celu wdrożenia powoduje niepowodzenie kompilacji.
Z informacji o wersji Xcode 6
Moja poprzednia odpowiedź (pokazana poniżej) nie będzie miała zastosowania do dalszego rozwoju. Swift nie będzie już dostępny dla iOS6 i niższych
Aplikację Swift można uruchomić na iOS 6. Chociaż wiele osób twierdzi, że Swift będzie obsługiwać tylko iOS 7+ i OS X 10.9+, z mojego doświadczenia wynika, że nie.
Przetestowałem prostą aplikację napisaną całkowicie w Swift na urządzeniu z systemem iOS 6. Działa idealnie dobrze . Jak mówi Apple, kod Swift jest binarnie zgodny z kodem Objective-C. Do utworzenia pliku binarnego używa tego samego kompilatora i środowiska wykonawczego.
Oto kod, który przetestowałem:
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")
}
}
Jest to prosta aplikacja, po prostu programowo dodająca przycisk. Moja aplikacja zawiera tylko dwa pliki AppDelegate.swifti ViewController.swift.
Jeśli więc nie używasz żadnych nowych interfejsów API dodanych jako część zestawu SDK systemu iOS 8 lub niektórych interfejsów API Swift (odpowiedni interfejs API nie jest dostępny dla Objective-C), aplikacja będzie bezproblemowo działać na iOS 6 lub nowszym (przetestowanym i działającym), nawet na iOS 5 (nie testowane). Większość interfejsów API w Swift to tylko zamiana istniejących interfejsów API Objective-C. W rzeczywistości są one takie same w systemie binarnym.
Uwaga: Zgodnie z Xcode 6 beta 4 celem szybkiego wdrożenia aplikacji powinien być system iOS 7 lub OS X 10.9 (patrz powyższa aktualizacja). Więc swift nie będzie już dostępny dla iOS6 i niższych