Update - Gemäß Xcode 6 Beta 4
Mindestbereitstellungsziel für iOS 7 und OS X 10.9
Der Swift-Compiler und Xcode erzwingen jetzt ein Mindestbereitstellungsziel von iOS 7 oder OS X Mavericks. Das Festlegen eines früheren Bereitstellungsziels führt zu einem Buildfehler.
Ab Xcode 6 Versionshinweis
Meine vorherige Antwort (siehe unten) gilt daher nicht für weitere Entwicklungen. Swift ist für iOS6 und niedriger nicht mehr verfügbar
Eine Swift-Anwendung kann unter iOS 6 ausgeführt werden. Obwohl viele Leute sagen, dass Swift nur iOS 7+ und OS X 10.9+ unterstützt, ist dies meiner Erfahrung nach nicht der Fall.
Ich habe eine einfache Anwendung getestet, die vollständig in Swift auf einem iOS 6-Gerät geschrieben wurde. Es funktioniert einwandfrei . Wie Apple sagt, ist Swift-Code binär kompatibel mit Objective-C-Code. Es verwendet denselben Compiler und dieselbe Laufzeit, um die Binärdatei zu erstellen.
Hier ist der Code, den ich getestet habe:
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 ist eine einfache Anwendung, bei der nur programmgesteuert eine Schaltfläche hinzugefügt wird. Meine Anwendung enthält nur zwei Dateien AppDelegate.swiftund ViewController.swift.
Wenn Sie also keine neuen APIs verwenden, die als Teil des iOS 8 SDK hinzugefügt wurden, oder einige Swift-spezifische APIs (die entsprechende API ist für Objective-C nicht verfügbar), funktioniert Ihre Anwendung sogar nahtlos unter iOS 6 oder höher (getestet und funktionsfähig) unter iOS 5 (nicht getestet). Die meisten APIs in Swift ersetzen lediglich die vorhandenen Objective-C-APIs. Tatsächlich sind sie binär gleich.
Hinweis: Gemäß Xcode 6 Beta 4 für schnelle Apps sollte das Bereitstellungsziel iOS 7 oder OS X 10.9 sein (siehe obiges Update). Daher ist Swift für iOS6 und niedriger nicht mehr verfügbar