Cập nhật - Theo Xcode 6 Beta 4
Mục tiêu triển khai tối thiểu iOS 7 và OS X 10.9
Trình biên dịch Swift và Xcode hiện thực thi mục tiêu triển khai tối thiểu của iOS 7 hoặc OS X Mavericks. Đặt mục tiêu triển khai sớm hơn dẫn đến lỗi xây dựng.
Từ ghi chú phát hành Xcode 6
Vì vậy, câu trả lời trước của tôi (Hiển thị bên dưới) sẽ không được áp dụng cho bất kỳ sự phát triển nào nữa. Swift sẽ không còn có sẵn cho iOS6 trở xuống
Một ứng dụng Swift có thể chạy trên iOS 6. Mặc dù nhiều người nói rằng Swift sẽ chỉ hỗ trợ iOS 7+ và OS X 10.9+, nhưng theo kinh nghiệm của tôi thì không.
Tôi đã thử nghiệm một ứng dụng đơn giản được viết hoàn toàn bằng Swift trong thiết bị iOS 6. Nó hoạt động hoàn toàn tốt . Như Apple nói, mã Swift tương thích nhị phân với mã Objective-C. Nó sử dụng cùng một trình biên dịch và thời gian chạy để tạo nhị phân.
Đây là mã tôi đã thử nghiệm:
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")
}
}
Nó là một ứng dụng đơn giản, chỉ cần thêm một nút lập trình. Ứng dụng của tôi chỉ chứa hai tệp AppDelegate.swift
và ViewController.swift
.
Vì vậy, nếu bạn không sử dụng bất kỳ API mới nào được thêm vào như một phần của SDK iOS 8 hoặc một số API cụ thể của Swift (API tương ứng không có sẵn cho Objective-C), ứng dụng của bạn sẽ hoạt động trơn tru trên iOS 6 trở lên (đã được thử nghiệm và hoạt động), thậm chí trên iOS 5 (chưa được thử nghiệm). Hầu hết các API trong Swift chỉ là sự thay thế của các API Mục tiêu-C hiện có. Trong thực tế, chúng là như nhau trong nhị phân.
Lưu ý: Theo Xcode 6 beta 4 cho mục tiêu triển khai ứng dụng nhanh là iOS 7 hoặc OS X 10.9 (xem bản cập nhật ở trên). Vì vậy, swift sẽ không còn có sẵn cho iOS6 trở xuống