web-dev-qa-db-fra.com

Le module compilé avec Swift 4.0 ne peut pas être importé dans Swift 3.2.1

Les modules Swift 4.0 fonctionnaient bien dans les applications Swift 3.2 avec Xcode 9.0.

Mais maintenant, avec Xcode 9.1, je reçois:

Le module compilé avec Swift 4.0 ne peut pas être importé dans Swift 3.2.1

Ou:

Le module compilé avec Swift 4.0 ne peut pas être importé dans Swift 4.0.1

9
Cœur

Swift 4.0 est compatible avec Swift 3.2 uniquement.
Swift 4.0.1 est compatible avec Swift 3.2.1 uniquement. 

Alors:

  • vous ne pouvez pas mélanger 4.0 et 3.2.1
  • vous ne pouvez pas mélanger 4.0.1 et 3.2
  • vous ne pouvez pas mélanger 4.0 et 4.0.1
  • vous ne pouvez pas mélanger 3.2.1 et 3.2

Pour le formuler différemment:

  • vous pouvez mélanger des versions de Swift supportées par Xcode 9.0
  • vous pouvez mélanger des versions de Swift supportées par Xcode 9.1
  • vous ne pouvez pas mélanger les versions Xcode 9.0 et Xcode 9.1 Swift

Si le module a été construit par vous, reconstruisez-le simplement avec le même Xcode.
Si le module a été construit par un tiers, demandez une version compatible avec Xcode 9.1. 

10
Cœur

Il est possible de construire à l'aide de Swift 3.2 dans Xcode 9.1 beta 2 en installant la chaîne d'outils Xcode 9.0 et en l'utilisant pour construire votre projet.

Swift Toolchain Image

Choisissez ensuite la version 4.0 de Swift dans le menu Xcode -> Chaînes d'outils.

Vous devriez maintenant pouvoir construire avec Swift 3.2 ou 4.0 dans Xcode 9.1 b2. 

7
Hung Truong

L'utilisation de la dernière version de Xcode a résolu ce problème

0
Sob7y