J'ai mis à niveau Xcode vers 8.1 GM et j'obtiens maintenant l'erreur ci-dessous pour SwiftyJSON. D'autres frameworks 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 aussi essayé de changerUse Legacy Swift language version
On et Off en vain.
Le module compilé avec Swift 3.0 ne peut pas être importé dans Swift 3.0.1: Modules / SwiftyJSON.swiftmodule / arm64.swiftmodule
la source
Cartfile
afin que je puisse simplement tapercarthage update
sans que les autres développeurs aient besoin de connaître / de s'inquiéter des indicateurs supplémentaires?Supprimez le chache d'application de DerivedData et reconstruisez-le. l'erreur peut être corrigée.
Le chemin DerivedData comme ceci:
la source
Assurez-vous d'avoir placé le nouveau package XCode 8.1 GM dans votre dossier Applications. Nous avons rencontré ce problème lorsque l'un de 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 s'exécutait sur le bureau).
Vous voulez vous assurer que lorsque vous exécutez ce qui suit dans le terminal:
xcrun swift -version
qu'il retourneApple Swift version 3.0.1
.la source
carthage update --platform iOS --no-use-binaries
et ça ne marche toujours pas. J'ai nettoyé mon projet et redémarré Xcode et j'obtiens toujours l'erreur. Est-ce que je peux essayer autre chose?Apple Swift version 3.0.1 (swiftlang-800.0.58.6 clang-800.0.42.1) Target: x86_64-apple-macosx10.9
La mise
Xcode
à jour par défaut du nouveau sur le terminal a fonctionné pour moi.Étape 1: Utilisez la commande suivante pour mettre à jour la version Xcode à la dernière sur Terminal. Réf
Étape 2: Maintenant, essayez la commande de mise à jour de carthage
la source
Juste pour donner les dernières mises à jour:
Carthage a publié la version 0.20 le 27 février 2017.
Carthage n'utilise désormais le binaire de pré-construction que si le binaire de pré-construction disponible est compatible .
Cela étant dit, vous n'avez plus à utiliser:
--no-use-binaries
pour éviter un framework pré-build incompatible.Assurez-vous donc que vous avez une version de carthage supérieure
0.20
et faites simplement:la source
--no-use-binaries
? Carthage devrait être capable de détecter si le binaire est compatible avec votre version de compilateur. S'il n'est pas compatible, il est censé supprimer automatiquement le binaire téléchargé et créer le framework localement.Tout comme @zirinisp a dit:
carthage update --platform iOS --no-use-binaries
xcrun swift -version
pour voir la version SwiftXcode->preferences->locations
pour effacer les données dérivées et les données d'archives, le plus important pour changer les outils de ligne de commande en "Xcode 8.1
"xcrun swift -version
vous pouvez voir que la version swift est 3.0.1Use Legacy Swift Language Version = NO
J'espère que ça t'aidera
la source
Déplacez la version beta / GM si le Xcode dans le dossier / Applications et nommez-le Xcode-beta
Vérifiez la sortie de:
xcrun swift --version
en exécutant cette commande dans le terminal, sa sortie doit correspondre à la version Swift que vous souhaitez que l'application compile, car Carthage utilise la sortie de cette commande pour déterminer la version Swift locale.
Mettez à jour la version Xcode à la dernière sur Terminal en exécutant la commande suivante:
sudo xcode-select -s /Applications/Xcode-beta.app/
Construisez les bibliothèques pour iOS et empêche Carthage de télécharger des binaires précompilés existants (mais incompatibles), en exécutant la commande suivante:
carthage update --platform iOS --no-use-binaries
Nettoyer et construire
la source
J'ai eu exactement le même problème avec la bibliothèque
XCTest_Gherkin
, ce qui a fonctionné pour moi était:Product
->Scheme
->XCTest-Gherkin
Product
->Build
J'espère que ça aide. J'utilise des Cocoapods.
la source
Dans les paramètres Xcode Build, assurez-vous que vos chemins de recherche de framework contiennent le dossier Carthage Build approprié:
la source