web-dev-qa-db-fra.com

Cocoapods + Impossible de charger le module sous-jacent pour 'x'

J'utilise XCode 7, Swift 2.0, iOS 9.

Je souhaite installer Alamofire dans mon projet à l'aide de Cocoapods. J'ai fait ce qui suit:

gem install cocoapods

pod setup

pod init

Podfile mis à jour pour:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!

target 'JSONeg' do

  pod 'Alamofire', :branch => 'Swift-2'

end

Puis j'ai installé le pod:

pod install

Et j'ai ajouté ce qui suit à ViewController.Swift

import Alamofire

Cela soulève l'erreur suivante:

Cannot load underlying module for 'Alamofire'

J'ai testé avec un autre pod et cela a soulevé la même erreur, donc je suppose que le problème vient de l'installation de Cocoapods. Toute aide serait grandement appréciée.

81
user5319603

Cela semble être un bug dans XCode. J'ai eu le même problème, et comme décrit dans les commentaires d'une autre réponse à cette question, la construction du projet a fait disparaître l'erreur.

202
vichle

Allez à Produit> Construire et cela résoudra le problème: enter image description here

21
Zulqarnain

Impossible de charger le module sous-jacent pour 'x'for Swift:

Comment résoudre le problème:

étape: 1 Créez un nouveau projet et construisez et exécutez avec succès sans installer de module.

étape: 2 Après avoir construit et exécuté le projet avec succès, essayez à présent d'installer le module, puis essayez importrealm, alamofire , graphiques etc cela fonctionnera comme un charme.

Cas d'échec -> Nouveau projet -> Ajouter (royaume, alamofire, cartes, etc.) via des cocoapodes ne construisant pas d'abord -> ouvrir l'espace de travail Xcode -> construire et exécuter

Cas de réussite -> Nouveau projet -> build & run -> add (royaume, alamofire, diagrammes, etc.) via cocoapods -> open workspace Xcode -> build & run again = success

11
Arun

Cela a fonctionné pour moi:

  1. Fermez votre projet
  2. Dans le terminal, allez dans le répertoire de votre projet
  3. Ajouter cette commande: pod update
  4. Après cela, tous vos pods seront mis à jour. Il suffit de lancer votre projet
10
Alex Kolovatov

Une fois que vous avez installé Alamofire pod.

Étape 1, vous devez ouvrir votre projet en double-cliquant sur votre fichier nom_projet.xcworkspace.

Étape 2: Accédez aux paramètres du projet -> Phase de construction -> Lier le binaire aux bibliothèques -> Ajouter le cadre "Alamofire.framework"

C'est ça!!

Maintenant, vous pouvez importer le module

8
Ajay Reddy

Ce qui a aidé dans mon cas:

1) Fermez le projet et XCode

2) Dans la commande de répétition du terminal

> pod install

3) Ouvrez le projet

(Si cela ne résout pas le problème, essayez de supprimer Pod/folder avant de le réinstaller)

7
Andrey

J'ai essayé toutes les solutions suivantes: reconstruction, nettoyage, réinstallation des modules, etc., mais dans mon cas, le problème était de modifier le paramètre 'Construire une architecture uniquement "en' Non ', en raison d'un AR. bibliothèque que j'utilisais. Il a été remplacé par "Oui" et cela a été corrigé. J'espère que ça aide quelqu'un.

6
Jacobo Koenig

Je devais faire un produit> (Cliquez sur Opt) Nettoyer le dossier de génération ... puis couru à nouveau et le problème avait disparu.

6
shokaveli

Je suis sur Xcode Version 8.3.1 (8E1000a). D'une manière ou d'une autre, ce problème survient lorsque je souhaitais installer le module SwiftCloudant en pod. Je n'ai probablement pas fermé mon Xcode lorsque j'exécute l'installation du pod.

J'ai résolu ce problème en ajoutant manuellement SwiftCloudant.framework dans l'onglet Cibles> Général.

Cibles> Général> Cadres et bibliothèques liés

5
khongks

Avez-vous vérifié si vous avez une version récente de Cocoapods? Vous pouvez mettre à jour soit en mettant à jour toutes vos gemmes:

Sudo gem update

ou simplement réinstaller Cocoapods:

 [Sudo] gem install cocoapods

Si cela ne vous aide pas, jetez également un coup d'oeil à: CocoaPods - construit pour iOS 9/Swift 2 avec Xcode-beta

où est vous montre comment changer facilement la version des outils de ligne de commande dans l'onglet "Emplacements" des Préférences Xcode et changer les "Outils de ligne de commande" pour Xcode 7.0.

3
Glenn

Suis les étapes:

1.Install pods 2.Open WorkSpace 3. Exécuter/construire votre application 4. Ensuite, vous pouvez importer le cadre

2
Augustin A

Impossible de charger le module sous-jacent

  1. Vérifier le chemin du framework: Build Settings -> Framework Search Paths.
  2. Assurez-vous que le chemin d'accès à un framework ne contient pas d'espace.
  3. Si le chemin contient une variable, recherchez la valeur des variables en recherchant le nom de la variable dans votre Build Settings.
  4. Assurez-vous que la valeur des variables ne contient pas d'espace.
  5. Si le chemin contient des espaces, renommez les répertoires contenant des espaces.
  6. Nettoyer et construire le projet.

En résumé, assurez-vous que votre <Project Root> chemin ne contient pas d'espace. Sinon, renommez le dir qui contient des espaces, puis nettoyez et construisez votre projet.

par exemple. S'il s'agit de la racine de votre projet: /Users/handsomeboy/ios app/Fancy App/, renommez le dossier contenant des espaces. Une façon de se débarrasser de l’espace: changer 'ios app' à 'ios_app'

2
Markus Wu

Dans mon cas, c’était une raison différente, c’était le Other Swift flags) dans le paramètre de construction de mes cibles, je devais ajouter un drapeau hérité en haut.

Réglage GCC_SYMBOLS_PRIVATE_EXTERN (affiché sous la forme "Symboles cachés par défaut" dans les paramètres de la cible) à YES dans le cadre de la liaison m'a aidé à éliminer cette erreur. J'ai passé 2 jours à le découvrir, j'espère que cela aidera quelqu'un :)

1
Alexander

Même problème pour moi. J'ai résolu ce problème en supprimant la version d'Alamofire dans un fichier pod.

fichier pod en tant que

# Uncomment this line to define a global platform for your project
platform :ios, "8.0"

# Uncomment this line if you're using Swift
use_frameworks!

target 'GettingSwift' do
 pod 'Alamofire'
end

target 'GettingSwiftTests' do
end
1
Purushottam Padhya

Lors de l'installation de CocoaPods, veillez à spécifier ios 9.0 en supprimant le #. Par conséquent, # platform :ios, '9.0' devrait juste être platform :ios, '9.0' Ensuite, si l'erreur se reproduit, générez et exécutez simplement. Une fois que vous avez créé et exécuté, l’erreur ne doit plus être renvoyée.

En outre, cela peut se produire si plusieurs versions de Xcode sont installées sur votre ordinateur. Quittez d'abord (pas seulement fermez) toutes les versions de Xcode.

0
user9470831

Si vous avez vérifié que vos pods ont été installés avec succès, l'erreur peut être associée aux données dérivées restantes avant l'installation des pods. Vous pouvez effacer vos données dérivées en allant à File -> Workspace Settings... -> Derived Data. La suppression du dossier de données dérivé associé à votre application et le nettoyage de votre build devraient résoudre le problème.

0
Brian Li

À cette adresse URL: https://github.com/Alamofire/Alamofire/issues/441

Un des utilisateurs a écrit ceci:

Nettoyer ne fonctionnait pas, la réinstallation à partir de modules ne fonctionnait pas, l’installation à partir de carthage ne fonctionnait pas, l’installation manuelle ne fonctionnait pas. Je l'ai finalement obtenu pour fonctionner après Build for Testing.

J'ai donc essayé ceci (version xcode 9.2 (9C40b)):

enter image description here

Cela a fonctionné pour moi. Erreur parti maintenant.

Note: Mon pod n’était pas Alamofire, alors je suppose que cela fonctionnera pour tous les pods.

0
EFE

Autre scénario possible: assurez-vous que la cible de test est définie dans la portée de la cible parente (pas en dehors de celle-ci).

par exemple.

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'OCMock', '~> 2.0.1'
  end
end

Si à la place cela ressemble à:

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'
end

target 'MyAppTests' do
  inherit! :search_paths
  pod 'OCMock', '~> 2.0.1'
end

alors vous recevrez également cette erreur.

0
iwasrobbed

Dans mon cas:

1. Ligne de commentaire de //import Pod_Module

2. Allez dans Projet -> Nettoyer ou utilisez la touche de raccourci (Commande + Maj + K)

2. Fermez votre projet

3. Dans le terminal, allez dans le répertoire de votre projet

4. courir > pod install

5. ouvert .xcworkspace fichier et le construire!

6. Ligne de commentaire de import Pod_Module

0
Reza Dehnavi

essayez Build For test fonctionne pour moi

0
Tawfik Bouabid