2016-06-28 3 views
25

Я новичок в разработке Apple, и вскоре я буду распространять свое приложение через AppStore. Итак, теперь я использую Swift 3, и по умолчанию для цели развертывания установлено значение iOS 10.0. Это означает, что я не смогу запустить его, например, на iOS 8-9? Потому в Swift 3 я использую новый funcs, которые не доступны в более поздних ОСАХSwift 3 Совместимость с iOS

ответ

60

Вы можете сделать ваше приложение работать на прошивке 8 & 9 путем установки развертывания Target в одной из этих версий. Swift 3.x совместим с iOS 8 и новее (я не уверен, но он также может быть совместим с iOS 7). Единственное отличие от Swift 2.2 (в отношении системных требований) состоит в том, что вам нужно использовать Xcode 8.

Когда вы устанавливаете целевой объект развертывания в более раннюю версию, чем IOS 10, вы должны знать, что не можете использовать API, которые новый в iOS 10. (за исключением того, что вы используете оператора #available). Но использование Swift 3 не должно быть проблемой.

Edit: Теперь вы можете загружать приложения, написанные на Swift 3 с помощью Xcode 8.0 GM

+2

Этот ответ полезен, но мне любопытно, знает ли кто-нибудь, что Swift 3 совместим с iOS 7? – rtcarlson

+0

@rtcarlson Более ранние версии были совместимы с iOS 7. http://stackoverflow.com/questions/24001778/do-swift-based-applications-work-on-os-x-10-9-ios-7-and-lower Поэтому я думаю, что Swift 3 тоже будет работать. Но у меня нет возможности проверить это. – FelixSFD

+0

@FelixSFD, что требования к версии os, в порядке с el caption? – vaibhav

5

Вы должны использовать Swift 3.x (это последняя версия Swift, так как этот ответ был опубликован).

Версия iOS НЕ относится к версии Swift, которую вы должны использовать, вместо этого некоторые из новых предоставленных apis поддерживают минимальную версию ОС. Но, наоборот, это не связано с языком программирования. Например: приложение было создано через 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 
} 

Надеется, что это помогло.