Недавно я начал разрабатывать приложение для Mac на Swift 3.0, используя бета-версию Xcode 8. Я планирую завершить разработку к середине августа, то есть до публичного выпуска macOS. Моя текущая машина для разработки работает под управлением El Capitan, и мой скомпилированный код Swift 3.0 хорошо работает в текущей версии операционной системы, что является хорошим признаком, но я немного обеспокоен тем, что могут возникнуть некоторые проблемы с запуском кода в предыдущих версиях OS X (например. 10.10). Это обоснованное беспокойство? Кроме того, смогу ли я вообще выпустить приложение со Swift 3.0 до выхода macOS?
Является ли Swift 3 полностью обратной совместимостью с предыдущими версиями ОС?
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
То есть любой код, написанный на Swift 3, не может быть выпущен до тех пор, пока не будет выпущена macOS?
- person Jonathan H.; 19.06.2016
@Jonny: прочитайте последний абзац... developer.apple.com/support/beta-software< /а>
- person l'L'l; 20.06.2016
@l'L'l, спасибо за ссылку. Итак, я прав, предполагая, что весь код реализации в стандартной библиотеке Swift включен в комплект приложения?
- person Jonathan H.; 20.06.2016
Однако вы не можете создать приложение с помощью Swift для iOS 6 и более ранних версий, то же самое относится и к OS X.
- person Kyle KIM; 06.09.2016