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
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
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
}