web-dev-qa-db-fra.com

Le module compilé avec Swift 3.1 ne peut pas être importé dans Swift 3.0.2

Swift 3.1 est sorti et je reçois ce message d'erreur dans mon projet:

Le module compilé avec Swift 3.1 ne peut pas être importé dans Swift 3.0.2

Alors, comment puis-je dire à Xcode de commencer à mettre à jour mon projet et à le migrer vers Swift 3.1?

5
etayluz

Il est probable que vous incluez des frameworks/bibliothèques tiers. Ce sont ce qui doit être mis à jour/recompilé. Si vous utilisez Carthage ou Pods, vous devez simplement reconstruire ces bibliothèques et les rendre disponibles pour votre application. Le problème n'est pas votre code. Quand vous le compilerez, il compilera en 3.1

8
Mozahler

etayluz

Mettez à niveau votre Xcode vers la 8.3 et votre version de Swift passera à la version 3.1.

J'utilise Carthage pour mettre à jour la bibliothèque/le framework à nouveau, avec l'option --no-use-binaries

carthage update --no-use-binaries
3

Ces étapes m'ont aidé.

Cela se produit parfois lorsque votre Xcode ne prend pas en charge certaines versions de vos dépendances tierces. Essayez d’utiliser la version appropriée de vos dépendances tierces compatibles avec la version Xcode.

  1. Effacez vos données dérivées dans Xcode. Xcode -> Fichier -> Paramètres de l'espace de travail -> Cliquez sur la flèche grise à côté de Données dérivées.
  2. Vérifiez la version de carthage en exécutant carthage version. Il devrait être supérieur à 0,20.0. Exécutez carthage update --platform iOS --no-use-binaries dans votre terminal. Élimine les problèmes de compatibilité.
  3. Nettoyez votre projet. Commande + Maj + K. Ensuite, générez et exécutez.
1
iPhoneDeveloper