Compatibilité iOS Swift 3

Je suis nouveau dans le développement D'Apple et je vais bientôt distribuer mon application via AppStore. Alors maintenant j'utilise Swift 3 et par défaut la cible de déploiement est définie sur iOS 10.0 cela signifie que je ne pourrai pas la faire fonctionner par exemple sur iOS 8-9? 'Cos dans Swift 3 j'utilise de nouvelles fonctions qui ne sont pas disponibles dans les systèmes d'exploitation ultérieurs

26
demandé sur FelixSFD 2016-06-28 08:24:52

2 réponses

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 être également 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, sachez que vous ne pouvez pas utiliser D'API nouvelles dans iOS 10. (sauf si vous utilisez le #available opérateur) mais l'utilisation de Swift 3 ne devrait pas poser de problème.

Edit: Vous pouvez maintenant télécharger des applications écrites dans Swift 3 à l'aide de Xcode 8.0 GM

60
répondu FelixSFD 2017-06-12 10:19:36

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

La version IOS N'est pas liée à la version Swift que vous devez utiliser, à la place, certaines des nouvelles API fournies prennent en charge une version minimale du système d'exploitation. Mais - encore une fois-ce n'est pas lié au langage de programmation lui-même. Par exemple: une application a été créée via Swift 2.x (Cible de déploiement 9.x) devrait fonctionner sur iOS 10; lors de la mise à jour de L'IDE (xcode), il soutiendra -par défaut-la dernière version du langage de programmation Swift.

En outre, vous pouvez faire:

if #available(iOS 10, *) {
    // use an api that requires the minimum version to be 10
} else {
    // use another api
}
6
répondu Ahmad F 2018-07-12 06:31:11