parse - swiftyjson to string




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

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 aussi essayé de changer les Use Legacy Swift language version sans résultat.

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


  1. Déplacez la version bêta / GM si le dossier Xcode dans le dossier / Applications et nommez -la Xcode-beta
  2. Vérifiez la sortie de:

    xcrun swift --version

en exécutant cette commande dans terminal, sa sortie doit correspondre à la version de Swift que vous voulez compiler par l'application, car Carthage utilise la sortie de cette commande pour déterminer la version de Swift locale.

  1. Mettez à jour la version de Xcode vers la dernière version sur Terminal en exécutant la commande suivante:

    sudo xcode-select -s /Applications/Xcode-beta.app/

  2. Construisez les bibliothèques pour iOS et empêchez Carthage de télécharger des fichiers binaires précompilés existants (mais incompatibles) en exécutant la commande suivante:

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

  3. Clean & Build


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 renvoie la Apple Swift version 3.0.1 .


Dans Xcode Build Settings, assurez-vous que vos chemins de recherche Framework contiennent le dossier Carthage Build approprié:

$(inherited)
$(PROJECT_DIR)/Carthage/Build/iOS

J'ai eu exactement le même problème avec la bibliothèque XCTest_Gherkin , cela a fonctionné pour moi:

  1. Product -> Scheme -> XCTest-Gherkin
  2. Product -> Build

J'espère que ça aide. J'utilise des cocoapodes.


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/

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.





swifty-json