web-dev-qa-db-fra.com

Mise à jour vers Xcode 9 et Swift 4

Je suis un peu nouveau chez Swift (moins d’un an) et je ne sais pas comment passer à la dernière version de Swift dans le nouveau Xcode chaque année. Mon projet a été lancé sous Xcode 8 et Swift 3.2. Maintenant, j'ai mis à jour Xcode 9, qui AFAIU prend en charge Swift 4

Depuis que j’utilise Cocoapods, j’ai évidemment mis à jour tous les pods avec leurs dernières versions, comportement qui, à mon avis, est correct. 

Cependant, je constate que le Swift version dans les paramètres de cible est toujours défini sur Swift 3.2. _ {Qu'est-ce que cela signifie exactement?} Devrais-je le changer en Swift 4 à la place? Ou c'est juste comme la version minimale que je dois écrire le code en fonction?

De plus, j'ai 2 avertissements dans le projet:

 enter image description here

En ce qui concerne Pods, il est clair que Cocoapods résoudra ce problème, alors np.

_ {Qu'en est-il de mon espace de travail?} _ Ma cible se construit bien sans erreurs ni avertissements. Je ne sais pas pourquoi elle me parle de conversion. Ne devrait-il pas indiquer une ligne exacte dans le fichier avec le code?

Veuillez décrire quel est le flux correct de mise à jour vers la dernière version de Swift en général et comment cela fonctionne avec certains des modules qui ne se mettent pas à la dernière version de Swift chaque année. Est-ce que je serai obligé de les supprimer, ou comme un fork et une mise à jour manuelle vers la dernière version de Swift?

7
Stas Ivanov

La mise à niveau de la version Xcode ne modifiera pas/ne mettra pas à jour votre programmation Swift version linguistique. Ces avertissements indiquent que votre version actuelle du langage de programmation Swift n’est pas 4.0 (elle est inférieure à 4.0, c’est-à-dire 3.2). 

(Notez également que Xcode 9 et 8.3 prennent en charge Swift 3.2. Vous pouvez également utiliser Xcode 9 avec Swift 3.2.)

Donc, si vous ouvrez votre projet Xcode 8.x dans Xcode 9, cela fonctionnera avec Swift version 3.2. 

Manuellement, vous devez modifier Swift 3.2 à 4.0 à partir des paramètres de construction du projet.

Voici - Comment voir la version actuelle de la langue Swift et la remplacer par une nouvelle.

enter image description here

Remarque: une fois que vous avez changé votre langue Swift, procédez comme suit:

  • Vous devez mettre à jour/améliorer votre dosette de cacao (CocoaPods)
  • Mettez à jour les bibliothèques/fichiers de pod de votre projet (à l'aide de la commande pod install ou pod update)

Pour faciliter la migration, reportez-vous aux réponses suivantes:

(Xcode) Menus: Édition ► Masqué ► Vers la syntaxe Swift actuelle

enter image description here

7
Krunal

Vous n'avez pas à convertir votre projet au Swift 4, le Xcode 9 prend également en charge Swift 3.2

Si vous voulez convertir votre projet au Swift 4, utilisez:

  • Edit -> convert -> To Syntax actuel de Swift

Vous pouvez également utiliser both versions (par exemple, certains pods ne doivent pas encore être prêts pour Swift 4). Vérifiez/définissez la version de votre cible dans Paramètres de construction - Version en langue Swift 

1
Jakub Truhlář