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.swift
i 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