Обновление - согласно Xcode 6 Beta 4
Минимальная цель развертывания iOS 7 и OS X 10.9
Компилятор Swift и Xcode теперь обеспечивают минимальную цель развертывания iOS 7 или OS X Mavericks. Установка более ранней цели развертывания приводит к сбою сборки.
Из примечания к выпуску Xcode 6
Поэтому мой предыдущий ответ (показанный ниже) не будет применим ни к какому дальнейшему развитию. Swift больше не будет доступен для iOS6 и ниже
Приложение Swift можно запустить на iOS 6. Хотя многие говорят, что Swift будет поддерживать только iOS 7+ и OS X 10.9+, по моему опыту это не так.
Я протестировал простое приложение, написанное полностью на Swift, на устройстве iOS 6. Работает отлично . Как говорит Apple, код Swift двоично совместим с кодом Objective-C. Он использует тот же компилятор и среду выполнения для создания двоичного файла.
Вот код, который я протестировал:
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")
}
}
Это простое приложение, просто добавление кнопки программно. Мое приложение содержит только два файла, AppDelegate.swift
и ViewController.swift
.
Поэтому, если вы не используете какие-либо новые API, добавленные в составе iOS 8 SDK или некоторых специфических API Swift (соответствующий API недоступен для Objective-C), ваше приложение будет бесперебойно работать на iOS 6 или более поздней версии (протестировано и работает), даже на iOS 5 (не тестировалось). Большинство API в Swift являются просто заменой существующих API Objective-C. На самом деле они одинаковы в двоичном виде.
Примечание. В соответствии с бета-версией Xcode 6 для быстрых приложений, целью развертывания должна быть iOS 7 или OS X 10.9 (см. Обновление выше). Так что swift больше не будет доступен для iOS6 и ниже