87 votes

Le module compilé avec swift 3.0 ne peut pas être importé dans Swift 3.0.1

J'ai mis à jour Xcode à 8.1 GM et j'obtiens maintenant l'erreur ci-dessous pour SwiftyJSON. Les autres cadres importés semblent fonctionner. Existe-t-il un moyen de forcer cela à fonctionner dans Swift 3 jusqu'à ce que SwiftyJSON mette à niveau son framework? J'ai utilisé Carthage pour importer / mettre à jour des frameworks. J'ai également essayé de changer Use Legacy Swift language version On et Off sans succès.

Le module compilé avec Swift 3.0 ne peut pas être importé dans Swift 3.0.1: Modules / SwiftyJSON.swiftmodule / arm64.swiftmodule

171voto

zirinisp Points 984

SwiftyJson est en train d'être téléchargé précompilé par Carthage. Le téléchargement précompilé se fait avec Swift Version 3.0. Cela fait que le compilateur se plaint que la version n'est pas correcte. En utilisant la commande suivante:

 carthage update --platform iOS --no-use-binaries
 

SwiftyJson (et tous les autres frameworks de Carthage) sera compilé localement en utilisant la version locale de Swift (3.0.1) et le compilateur ne se plaindra plus.

21voto

i-chou Points 251

Supprimez la tâche d'application de DerivedData et reconstruisez-la. l'erreur peut être corrigée.

Le chemin DerivedData ressemble à ceci:

 ~/Library/Developer/Xcode/DerivedData/
 

10voto

kleezy Points 968

Assurez-vous que vous avez placé le nouveau package XCode 8.1 GM dans votre dossier Applications. Nous avons rencontré ce problème lorsque l'un d'entre nous exécutait Carthage pour mettre à jour nos dépendances, mais n'avait pas remplacé l'ancienne application XCode 8.0 dans le dossier des applications (8.1 GM fonctionnait à partir du bureau).

Vous voulez vous assurer que, lorsque vous exécutez les opérations suivantes dans le terminal: xcrun swift -version , il renvoie Apple Swift version 3.0.1 .

9voto

Zaid Khan Points 15

La mise à jour des valeurs par défaut Xcode sur un nouveau terminal a fonctionné pour moi.

Étape 1: Utilisez la commande suivante pour mettre à jour la version de Xcode vers la dernière version sur le terminal. Ref

 sudo xcode-select -switch <path/to/>Xcode.app
 

Étape 2: Maintenant, essayez la commande carthage update

 carthage update --platform iOS
 

9voto

kanekin Points 91

Juste pour donner les dernières mises à jour:

Carthage a publié la version 0.20 Fév 27, à partir de 2017.

Carthage maintenant utilise uniquement le pré-construction binaire si elle est disponible en pré-construction binaire est compatible.

C'est dit, vous n'avez plus à utiliser: --no-use-binaries pour éviter incompatible pré-construire le cadre.

Donc, assurez-vous que vous avez carthage version supérieure à 0.20 et il suffit de faire:

carthage update --platform iOS

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X