Я новичок в разработке Apple, и скоро я буду распространять свое приложение через AppStore. Итак, теперь я использую Swift 3, и по умолчанию цель развертывания установлена на iOS 10.0. Это означает, что я не смогу запустить его, например, на iOS 8-9? «Потому что в Swift 3 я использую новые функции, недоступные в более поздних версиях ОС.
Совместимость со Swift 3 iOS
Ответы (2)
Вы можете запустить приложение на iOS 8 и 9, установив для параметра Цель развертывания одну из этих версий. Swift 3.x совместим с iOS 8 и новее (я не уверен, но может быть и с iOS 7). Единственное отличие от Swift 2.2 (относительно системных требований) заключается в том, что вы должны использовать Xcode 8.
Когда вы устанавливаете цель развертывания на более раннюю версию, чем iOS 10, вы должны знать, что вы не можете использовать API, которые являются новыми в iOS 10. (за исключением того, что вы используете #available
) Но использование Swift 3 не должно быть проблемой.
Изменить. Теперь вы можете загружать приложения, написанные на Swift 3, с помощью Xcode 8.0 GM.
Вы должны использовать Swift 3.x (это последняя версия Swift с момента публикации этого ответа).
Версия iOS НЕ связана с версией Swift, которую вы должны использовать, вместо этого некоторые из новых предоставленных API поддерживают минимальную версию ОС. Но, опять же, это не связано с самим языком программирования. Например: приложение, созданное с помощью Swift 2.x (Deployment Target 9.x), должно работать на iOS 10; При обновлении IDE (xcode) будет поддерживаться -по умолчанию- последняя версия языка программирования -Swift-.
Кроме того вы можете:
if #available(iOS 10, *) {
// use an api that requires the minimum version to be 10
} else {
// use another api
}