Güncelleme - Xcode 6 Beta 4 uyarınca
iOS 7 ve OS X 10.9 minimum dağıtım hedefi
Swift derleyici ve Xcode şimdi iOS 7 veya OS X Mavericks için minimum dağıtım hedefini zorunlu kılıyor. Daha erken bir dağıtım hedefi belirlemek derleme hatasıyla sonuçlanır.
Xcode 6 sürüm notundan
Bu yüzden önceki cevabım (aşağıda gösterilmiştir) daha fazla geliştirme için geçerli olmayacaktır. Swift artık iOS6 ve daha düşük sürümlerde kullanılamayacak
Bir Swift uygulaması iOS 6'da çalıştırılabilir. Birçok kişi Swift'in yalnızca iOS 7+ ve OS X 10.9+ 'ı destekleyeceğini söylese de, deneyimimden değil.
Swift'te yazılmış basit bir uygulamayı bir iOS 6 cihazında test ettim. Mükemmel çalışıyor . Apple'ın dediği gibi Swift kodu Objective-C koduyla ikili olarak uyumludur. İkili oluşturmak için aynı derleyici ve çalışma zamanını kullanır.
İşte ben test kod:
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")
}
}
Programlı bir düğme ekleyerek basit bir uygulamadır. Uygulamam sadece iki dosya içeriyor AppDelegate.swift
ve ViewController.swift
.
Dolayısıyla, iOS 8 SDK'sının veya bazı Swift'e özgü API'lerin bir parçası olarak eklenen yeni API'ları kullanmıyorsanız (Objective-C için karşılık gelen API kullanılamıyorsa) uygulamanız iOS 6 veya sonraki sürümlerde (test edilmiş ve çalışıyor) sorunsuz bir şekilde çalışacaktır iOS 5'te (test edilmedi). Swift'teki API'lerin çoğu, sadece mevcut Objective-C API'lerinin yerini almaktadır. Aslında ikili olarak aynıdırlar.
Not: Hızlı uygulamalar için Xcode 6 beta 4'e göre dağıtım hedefi iOS 7 veya OS X 10.9 olmalıdır (yukarıdaki güncellemeye bakın). Dolayısıyla, iOS6 ve daha düşük sürümler için artık hızlı kullanılamaz