Является ли Swift 3 полностью обратной совместимостью с предыдущими версиями ОС?

Недавно я начал разрабатывать приложение для Mac на Swift 3.0, используя бета-версию Xcode 8. Я планирую завершить разработку к середине августа, то есть до публичного выпуска macOS. Моя текущая машина для разработки работает под управлением El Capitan, и мой скомпилированный код Swift 3.0 хорошо работает в текущей версии операционной системы, что является хорошим признаком, но я немного обеспокоен тем, что могут возникнуть некоторые проблемы с запуском кода в предыдущих версиях OS X (например. 10.10). Это обоснованное беспокойство? Кроме того, смогу ли я вообще выпустить приложение со Swift 3.0 до выхода macOS?


person Jonathan H.    schedule 19.06.2016    source источник
comment
Приложения Swift совместимы до версии 10.9 (Mavericks). Но настоящая трудность заключается в том, чтобы приложение выглядело и действовало одинаково во всех версиях (некоторые SDK меняются, некоторые добавляются).   -  person Eric Aya    schedule 19.06.2016
comment
Эрик Д. Похоже, что основные отличия Swift 3.0 заключаются в изменениях синтаксиса API (например, в Grand Central Dispatch была существенная оптимизация и реструктуризация синтаксиса, но я сомневаюсь, что большая часть фактической реализации была изменена, если таковая имеется). Если это так, то поведенческие изменения не должны вызывать серьезного беспокойства, верно?   -  person Jonathan H.    schedule 19.06.2016
comment
Правильно - и важные изменения в любом случае сначала проходят обычные этапы устаревания.   -  person Eric Aya    schedule 19.06.2016


Ответы (1)


Каждое приложение Swift поставляется с включенной стандартной библиотекой Swift. Преимущество этого заключается в том, что по умолчанию он может работать на нескольких версиях ОС. Отрицательным моментом является то, что он добавляет несколько МБ к вашему окончательному пакету приложений.

Так что да, ваше приложение будет работать в предыдущих версиях, но имейте в виду, что вы не можете отправлять приложения в Mac App Store, пока не будет выпущен Xcode 8 GM.

person BalestraPatrick    schedule 19.06.2016