Avec le nouveau Xcode 8 beta 4
, nous avons commencé à rencontrer l’erreur suivante au cours de la phase de construction CopySwiftLibs
:
Effective srcDirs: {(
<DVTFilePath:0x7f865961e970:'/Volumes/Data/Xcode-beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/Swift/iphonesimulator'>,
<DVTFilePath:0x7f8657d02b20:'/Volumes/Data/Xcode-beta.app/Contents/Developer/Toolchains/Swift_2.3.xctoolchain/usr/lib/Swift/iphonesimulator'>
)}
erreur: les fichiers binaires suivants utilisent des versions incompatibles de Swift:
/Users/user/Projects/git/iphone-Swift-1/DerivedData/myApp/Build/Products/Debug-iphonesimulator/myApp.app/myApp
/Users/user/Projects/git/iphone-Swift-1/myApp/myAppApi.framework/myAppApi
myAppApi est un sous-projet de l'espace de travail contenant du code partagé (il utilise Alamofire
).
Une chose à noter: à l'origine, nous avions converti le projet de Swift 2.2 en Swift 2.3, puis mis à niveau manuellement vers la version 3.0.
Est-ce que quelqu'un a une idée de ce qui pourrait causer cette erreur?
Merci!
J'ai eu le même problème, mais j'ai réussi à résoudre par
Je l'ai fait sur Xcode 8 en utilisant Swift 3.
Vous pouvez également rencontrer ce problème si le scénario du code de votre application conteneur est Swift 2.3 et que vous créez une nouvelle extension dans Xcode 8.
Pour résoudre le scénario ci-dessus ...
Remarque: Tout le code doit être dans la même version de Swift (compatible) pour pouvoir être compilé sans échec.
Cela dit, vous pouvez résoudre ce problème en collant à Swift 2.3, puis en paramétrant votre Utilisez la version antérieure du langage Swift sur "Oui".
Vous pouvez trouver cette option lorsque Xcode 8 est ouvert comme suit:
Remarque: Il se peut que vous deviez corriger le code remplacé dans les modèles d’extension, car ils étaient à l’origine dans Swift 3.
Avant de faire quoi que ce soit ...
(Si vous pouvez utiliser Xcode 8.0-compatible avec votre projet)
Par défaut, votre projet est défini sur Xcode 3.2-compatible.
Essayez de construire votre projet.
Si cela ne fonctionne pas, essayez les autres solutions proposées.
Remarque: Vous pouvez même revenir à la compatibilité Xcode 3.2 après avoir corrigé l'erreur et cela devrait fonctionner, mais vous pourriez "avoir" d'autres problèmes de construction ultérieurement.
Recommandation: Avant de déboguer un projet existant. Fermez votre projet et compressez une copie de votre fichier de projet si vous n'avez pas créé de référentiel Git lors de la création de votre projet.
J'ai résolu ce problème en supprimant les fichiers binaires incorporés dans le projet. Pour faire ça:
Remarque 1: Vous ne devriez pas avoir à les supprimer de la section "Structures et bibliothèques liées" (elles devraient être automatiquement supprimées lorsque vous les supprimez des "Fichiers binaires incorporés").
Note 2: J'ai beaucoup de dépendances et j'utilise CocoaPods. Je n'ai rien dans les "Fichiers binaires incorporés" et uniquement les "Pods_ [YourApplicationName] .framework" dans la section "Frameworks and Libraries".
J'ai eu diverses bibliothèques intégrées via carthage. Cependant, au cours du processus, j'ai remplacé certains d'entre eux par des cocoapodes et oublié de supprimer l'ancien fichier .frameworks
de la cible du projet.
En les supprimant a résolu l'erreur de construction.
J'ai eu le même problème… .. Ma solution a été de renommer le répertoire «myApp» en «myAppmyApp», puis j'ai à nouveau exécuté l'application. Un nouveau répertoire 'myApp' a été créé et l'application s'est à nouveau très bien déroulée sur mon iPhone.
Une différence par rapport à votre situation pourrait être la suivante: le nom de mon application, disons «myApp» dans le répertoire «DerivedData», correspondait à myApp:
Peut-être que cela vous aidera.
Sincères amitiés.
J'ai eu le même message d'erreur après avoir ajouté une version Swift 3 d'un framework.
Mon framework search path
cible était toujours configuré pour rechercher à la fois les versions Swift 2 et Swift 3 du même framework. Mon projet est donc resté bloqué sur la version 2.3 de Swift.
Pour moi, la solution a été de supprimer l'ancien framework de mon répertoire de projet et de supprimer sa référence de dossier du framework search path
.
Je viens donc de poster la solution que j'ai trouvée jusqu'à présent après une heure de débogage.
Depuis Xcode 9, ceci peut être suivi par le journal du compilateur.
Si vous faites défiler l'écran jusqu'en bas du journal du compilateur, vous constaterez que ce problème est dû à un crash de la vérification du type.
Vous devez basculer toutes les dépendances sur Swift 3
. Dans votre cas, Alamofire doit être basculé sur la branche Swift 3