Mise à jour :
Pour les versions de Xcode :
Cette erreur (et des erreurs similaires impliquant Swift 4.1, 4.2, etc.) se produira lors de l'ouverture d'un projet avec Xcode 9.1, 9.2, 9.3, 9.4, 10, etc. qui utilise des frameworks construits avec des outils Xcode antérieurs.
Pour résoudre ce problème, mettez à jour et reconstruisez vos frameworks en utilisant Carthage ( carthage update --platform iOS
), les Cocoapodes ( pod update
o pod install
), ou manuellement, avec les nouveaux outils Xcode mis à jour. Les outils devraient être mis à jour automatiquement lorsque vous mettez à jour Xcode, mais si ce n'est pas le cas, vous pouvez suivre les étapes décrites ci-dessous dans la réponse originale.
Vous pouvez également avoir besoin de nettoyer votre projet cmd + shift + k
et éventuellement votre dossier de construction cmd + option + shift + k
pour que Xcode n'utilise pas les constructions de frameworks en cache.
Dans certains cas, vous pouvez également avoir besoin de supprimer votre dossier de données dérivées (facilement trouvable en allant dans Xcode Preferences -> Locations -> Derived Data Folder ( Merci Stunner )
Pour les versions bêta de Xcode :
Voir la réponse originale ci-dessous, puis suivre les étapes ci-dessus.
Réponse originale :
Vous avez probablement encore vos outils xcodebuild réglés sur Xcode 9.0 qui construit avec Swift 4.0 et est incompatible avec Swift 4.0.1 de Xcode 9.1 beta.
Vérifiez dans le terminal en utilisant la commande :
xcodebuild -version
Ou bien, allez simplement dans les préférences de Xcode -> Locations et cochez/changez les outils de ligne de commande pour Xcode 9.1. Vous devriez alors être prêt.
0 votes
Il semble qu'Apple doive reconsidérer son avis de dépréciation de 10 ans pour Objective C :^) J'en ai fait les frais sur >1 projet maintenant et sur les deux, il s'agit de frameworks binaires tiers.
0 votes
stackoverflow.com/a/60911546/4427884