web-dev-qa-db-fra.com

Swift 3 compatibilité iOS

Je suis nouveau sur Apple en développement et bientôt je distribuerai mon application via AppStore. Alors maintenant j'utilise Swift 3 et par défaut la cible de déploiement est réglé sur iOS 10.0 Cela signifie que je ne pourrai pas le faire fonctionner par exemple sur iOS 8-9? 'Cos in Swift 3 J'utilise de nouveaux funcs qui ne seront pas disponibles dans les OS ultérieurs

26
user6485277

Vous pouvez faire fonctionner votre application sur iOS 8 et 9 en définissant la cible de déploiement sur l'une de ces versions. Swift 3.x est compatible avec iOS 8 et plus récent (je ne suis pas sûr, mais il pourrait également être compatible avec iOS 7). La seule différence avec Swift 2.2 (en ce qui concerne la configuration système requise) est que vous devez utiliser Xcode 8.

Lorsque vous définissez votre cible de déploiement sur une version antérieure à iOS 10, vous devez savoir que vous ne pouvez pas utiliser des API nouvelles dans iOS 10. (sauf que vous utilisez #available operator) Mais l'utilisation de Swift 3 ne devrait pas poser de problème.

Edit: Vous pouvez maintenant télécharger des applications écrites en Swift 3 en utilisant Xcode 8.0 GM

59
FelixSFD

Vous devez utiliser Swift 3.x (c'est la dernière version de Swift puisque cette réponse a été publiée).

la version iOS n'est PAS liée à la version Swift que vous devriez utiliser, à la place, certains des nouveaux apis fournis prennent en charge une version minimale du système d'exploitation. Par exemple: une application a été créée via Swift 2.x (Deployment Target 9.x) devrait fonctionner sur iOS 10; lors de la mise à jour de IDE = (xcode), il supportera -par défaut- la dernière version du langage de programmation -Swift-.

Aussi, Vous pourriez faire:

if #available(iOS 10, *) {
    // use an api that requires the minimum version to be 10
} else {
    // use another api
}
6
Ahmad F