Aggiornamento - Secondo Xcode 6 Beta 4
Destinazione minima di distribuzione di iOS 7 e OS X 10.9
Il compilatore Swift e Xcode ora impongono un target di distribuzione minimo di iOS 7 o OS X Mavericks. L'impostazione di una destinazione di distribuzione precedente comporta un errore di compilazione.
Dalla nota di rilascio di Xcode 6
Quindi la mia risposta precedente (mostrata sotto) non sarà applicabile a nessun ulteriore sviluppo. Swift non sarà più disponibile per iOS6 e versioni precedenti
Un'applicazione Swift può essere eseguita su iOS 6. Anche se molte persone dicono che Swift supporterà solo iOS 7+ e OS X 10.9+, per mia esperienza non lo è.
Ho testato una semplice applicazione scritta completamente in Swift in un dispositivo iOS 6. Funziona perfettamente . Come dice Apple, il codice Swift è binario compatibile con il codice Objective-C. Utilizza lo stesso compilatore e runtime per creare il binario.
Ecco il codice che ho testato:
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")
}
}
È una semplice applicazione, basta aggiungere un pulsante a livello di codice. La mia applicazione contiene solo due file AppDelegate.swift
e ViewController.swift
.
Pertanto, se non si utilizzano nuove API aggiunte come parte dell'SDK di iOS 8 o alcune API specifiche di Swift (l'API corrispondente non è disponibile per Objective-C), l'applicazione funzionerà perfettamente su iOS 6 o versioni successive (testata e funzionante), anche su iOS 5 (non testato). La maggior parte delle API in Swift sono solo la sostituzione delle API Objective-C esistenti. In effetti sono gli stessi in binario.
Nota: come per Xcode 6 beta 4 per la destinazione di distribuzione di app veloci dovrebbe essere iOS 7 o OS X 10.9 (vedere l'aggiornamento sopra). Quindi swift non sarà più disponibile per iOS6 e precedenti