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