Module compilé avec Swift 4.0 ne peut pas être importé dans Swift 4.0.1
Toutefois, j'ai recompilé le cadre à l'aide de la même Xcode et il me donne toujours cette erreur.
- Base SDK iOS 11.1 pour les deux
- Swift Version du Langage Swift 4.0 pour les
- Pas à l'aide de Cosses/Carthage
J'espère que quelqu'un pourrait savoir
Vous devez vous connecter pour publier un commentaire.
Mise à jour:
Pour les versions de Xcode:
Cette erreur (et des erreurs similaires impliquant Swift 4.1, 4.2, etc.) va se produire lors de l'ouverture d'un projet avec Xcode 9.1, 9.2, 9.3, 9.4, 10, etc. qui utilise des cadres, qui ont été construits avec les anciens outils Xcode.
Pour résoudre le problème, mise à jour et la reconstruction de votre cadres à l'aide de Carthage (
carthage update --platform iOS
), Cocoapods (pod update
oupod install
), ou manuellement, avec la nouvelle mise à jour de Xcode tools. Les outils doivent être mis à jour automatiquement lorsque vous mettez à jour Xcode, mais si pas, vous pouvez suivre les étapes décrites ci-dessous dans la réponse originale à cette question.Vous pouvez aussi avoir besoin de nettoyer votre projet
cmd + shift + k
et éventuellement de votre dossier de créationcmd + option + shift + k
pour obtenir Xcode pour ne pas utiliser le cache cadre s'appuie.Dans certains cas, vous pouvez aussi avoir besoin de supprimer vos données dérivées du dossier (Facilement disponible pour Xcode Préférences -> les Emplacements -> Données tirées de Dossiers
(Grâce Stunner)
Pour les versions bêta de Xcode:
Voir réponse originale à cette question ci-dessous, puis suivez les étapes ci-dessus.
Réponse Originale À Cette Question:
Vous avez probablement encore xcodebuild outils mis à Xcode 9.0 qui construit avec Swift 4.0 et est incompatible avec Xcode 9.1 bêta de Swift 4.0.1.
Vérifier dans le terminal en utilisant la commande:
Ou tout simplement aller dans Xcode préférences -> Lieux et de vérifier/modifier les outils de ligne de commande pour Xcode 9.1. Vous devez être fixée.
Swift Language Version
àSwift 4
pour ceux. Puis il a travaillé.Mon problème était dû à un cadre externe de ne pas être compilé pour Swift 4.0.2. J'avais ajouté ce fichier via Carthage, donc en cours d'exécution:
Et puis de nettoyer le projet
cmd + shift + k
et dossier de créationcmd + option + shift + k
et de supprimer les données dérivées du dossier (simplement de le déplacer vers la corbeille fonctionne aussi bien) travaillé pour moi.Installer Xcode Chaîne d'outils spécifiques Xcode version qui fonctionne pour vous de ici.
Un Xcode ensemble d'outils comprend une copie du compilateur, lldb, et d'autres outils nécessaires pour fournir un développement de la cohésion de l'expérience pour travailler dans une version spécifique de Swift.
Ouvrez Xcode Préférences de l'utilisateur, accédez à des Composants > Toolchains , et sélectionnez le installé Swift de la chaîne d'.
Cela vous permettra de compiler et exécuter l'application pour l'instant.
J'ai frappé ce problème avec Xcode 10 bêta, qui ajoute Swift 4.2. Ma question n'était pas liée à Carthage ou toutes les dépendances externes.
Aller à
YourTarget > Build Settings > Swift Language Version
pour tous vos Xcode cibles.De la Mine ont été tous mis à
Swift 4
.Après l'ajout d'une Copie des Fichiers de Phase de génération, j'ai commencé à faire l'erreur
Je puis mettre chaque cible
Swift Language Version
àSwift 4.2
, qui a éliminé l'erreur.Je ne sais pas pourquoi l'erreur était présente dans le premier lieu, si, comme ayant tous les objectifs fixés pour
Swift 4
devrait être tout aussi valable.Build Settings
Dans mon cas (Xcode 9.2):
Je suis allé à Xcode
Preferences > Locations > Derived Data
J'ai ensuite supprimé les données et fait une construction propre et a été ok.
Dans mon cas, j'ai téléchargé xCode 11 version Bêta pour tester SwiftUI. Quand je lance mon projet, je me suis "Module compilé avec Swift 5.1 ne peut pas être importée par l'Swift 5.0.1 compilateur:..." erreur.
Faire résoudre ce problème. j'ai changé de xCode Commentaire de l'outil en ligne de nouveaux xCode 11 commentaire de l'outil en ligne. Après cela, vous pouvez créer un nouveau projet xcode avec SwiftUI.
Xcode -> Préférences -> Emplacement -> XCode Félicite de l'Outil en Ligne
j'espère que, cela va aider quelqu'un qui veux test avec une nouvelle freamework 🙂