Можем ли мы интегрировать код быстрого в приложениях с целью развертывания меньше, чем iOS 7?

Так как Swift поддерживает совпадение mix с объективом c, то мы можем использовать его для построения приложений с целью развертывания меньше, чем iOS 7.

from Быстрая предварительная документация В разделе Basic Setup раздел, который я читаю:

Swift is designed to provide seamless compatibility with Cocoa and Objective-C. You can use Objective-C APIs
(ranging from system frameworksto your own custom code) in Swift, and you can use Swift APIsin Objective-C.
This compatibility makes Swift an easy, convenient, and powerful tool to integrate into your Cocoa app
development workflow.
This guide covers three important aspects of this compatibility that you can use to your advantage when
developing Cocoa apps:

 ● Interoperability lets you interface between Swift and Objective-C code, allowing you to use Swift classes
in Objective-C and to take advantage of familiar Cocoa classes, patterns, and practices when writing Swift
code.

 ● Mix and match allows you to create mixed-language apps containing both Swift and Objective-C files that
can communicate with each other.
 ● Migration from existing Objective-C code to Swift is made easy with interoperability and mix and match,
making it possible to replace parts of your Objective-C apps with the latest Swift features.

Итак, после прочтения этих вопросов, которые возникают у меня в голове,

  • Можно ли быстро использовать приложения, которые мы сейчас работаем? на.
  • Если ответ отрицательный, это будет противоречить вышеприведенному   Объяснение.

Ответ 1

Обновление - согласно Xcode 6 Beta 4

iOS 7 и OS X 10.9 минимальная цель развертывания

Компилятор Swift и Xcode теперь применяют минимальную цель развертывания iOS 7 или OS X Mavericks. Установка более ранней цели развертывания приводит к сбою сборки.

Из примечания к выпуску Xcode 6

Таким образом, мой предыдущий ответ (см. ниже) не будет применим к дальнейшей быстрой разработке. Swift больше не будет доступен для iOS6 и ниже


Да, вы можете. Я тестировал простое приложение, написанное полностью в Swift в моем iOS6 device, он отлично работает. Как говорит Apple, код Swift совместим с двоичным кодом с кодом ObjectiveC. Он использует один и тот же компилятор и среду выполнения для создания двоичного файла.

Итак, если вы не используете какие-либо новые API-интерфейсы, добавленные как часть SDK iOS8 или некоторые быстрые специфические api (соответствующие api недоступны для ObjectiveC), ваше приложение будет без проблем работать с iOS6 + (проверено и работает) даже iOS5 (не тестировался). Большинство API-интерфейсов в Swift - это просто замена существующего объекта ObjectiveC api. На самом деле они одинаковы в двоичном формате.


Ответ 2

Я не уверен, но ДА быстро поддерживает более низкую версию ios в Xcode Beta​​strong > , если вы заходите в Project-->Target-->General-->Deplyment Info для выбора цели развертывания, вниз с 6.0,6.1,7.0,7.1 и 8.0

enter image description here

enter image description here

Так что я думаю, да, быстрая поддержка нижней версии.

Я просто тестирую демонстрацию, созданную в Xcode6, с быстрым выбором языка. то я открою этот проект в Xcode5 с целью развертывания 6, и он запускается, это означает, что работа с более низкой версией тоже.

Вот скриншот быстрых проектов, выполняемых в xcode5 с симулятором ios6.1:

enter image description here

ЗДЕСЬ ДЕМО ТАКЖЕ http://www.filedropper.com/demo_5

Ответ 3

Да, вы можете. Я протестировал простое приложение, написанное полностью в Swift на моем устройстве iOS6, оно отлично работает. Как говорит Apple, код Swift совместим с двоичным кодом с кодом ObjectiveC. Он использует один и тот же компилятор и среду выполнения для создания двоичного файла.

Итак, если вы не используете какие-либо новые API-интерфейсы, добавленные как часть SDK iOS8, или некоторые быстрые специфические api (соответствующий api недоступен для ObjectiveC), ваше приложение будет без проблем работать с iOS6 + (проверено и работает) даже iOS5 (не тестировано). Большинство API-интерфейсов в swift - это просто замена существующего объекта ObjectiveC api. На самом деле они одинаковы в двоичном формате.

Ответ 4

Нет, только iOS 7+ и OS X 10.9 +.

Ответ 5

Вы можете импортировать и запускать быстрый код из Objective-C следующим образом:

#import "ProductModuleName-Swift.h"

MySwiftClass *swiftObject = [[MySwiftClass alloc] init];
[swiftObject swiftMethod];

Вы можете проверить номер версии iOS этот смысл и запустить только быстрый код, если версия >= 7.0.

Ответ 6

Да, минимальная цель развертывания для Xcode 6 с языком Swift - iOS 6.0

Ответ 7

Да, вы можете. Не важно, на каком языке вы пишете код. Наконец, важно, что это компилятор и архитектура. Таким образом, вы определенно сможете развернуть их до версии ОС менее 7.0