Cocoapods + Impossibile caricare il modulo sottostante per "x"


89

Utilizzo XCode 7, Swift 2.0, iOS 9.

Voglio installare Alamofire nel mio progetto usando Cocoapods. Ho fatto quanto segue:

gem install cocoapods

pod setup

pod init

Podfile aggiornato a:

# 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

Quindi ho installato il pod:

pod install

E ho aggiunto quanto segue a ViewController.swift

import Alamofire

Ciò solleva il seguente errore:

Cannot load underlying module for 'Alamofire'

Ho provato con un altro pod e ha generato lo stesso errore, quindi immagino che il problema sia con l'installazione di Cocoapods. Qualsiasi aiuto sarebbe molto apprezzato.


controlla di aver importato i framework necessari
user3722523

Risposte:


209

Questo sembra essere un bug in XCode. Ho avuto lo stesso problema e, come descritto nei commenti di un'altra risposta a questa domanda, la creazione del progetto ha fatto scomparire l'errore.


4
Sono quasi venuto qui all'inizio di qualsiasi progetto ... Grazie amico
SoliQuiD

2
Una dannata soluzione alternativa funziona ancora .. XCode dovrebbe essere open source.
Siddharth


14

Questo ha funzionato per me:

  1. Chiudi il tuo progetto
  2. Nel terminale vai alla directory del tuo progetto
  3. Aggiungi questo comando: pod update
  4. Dopodiché tutti i tuoi pod verranno aggiornati. Esegui il tuo progetto

10

Impossibile caricare il modulo sottostante per "x" per SWIFT:

Come risolvere il problema:

passaggio: 1 Crea un nuovo progetto e crea ed esegui con successo senza installare pod.

passo: 2 Dopo aver compilato ed eseguito il progetto con successo, ora prova ad installare pod e poi prova a importare, alamofire, grafici ecc. Funzionerà come un incantesimo.

Caso di errore -> Nuovo progetto -> Aggiungi (realm, alamofire, grafici ecc.) Tramite cocoapods senza costruire prima -> apri l'area di lavoro Xcode -> costruisci ed esegui

Caso di successo -> Nuovo progetto -> compila ed esegui -> aggiungi (realm, alamofire, grafici ecc.) Tramite cocoapods -> apri l'area di lavoro Xcode -> costruisci ed esegui di nuovo = successo


Non puoi considerare di "avviare un nuovo progetto" ogni volta che vedi questo errore quando il 99% delle volte si verifica in un progetto esistente. Che ne dici di provare solo 'aggiornamento pod'
Renexandro

9

Una volta installato Alamofire pod.

Step.1 dovresti aprire il tuo progetto facendo doppio clic sul file your_project_name.xcworkspace.

Step.2 Vai alle impostazioni del progetto -> Build Phases -> Link Binary with Libraries -> Aggiungi framework "Alamofire.framework"

Questo è tutto!!

Ora puoi importare il modulo


8

Cosa ha aiutato nel mio caso:

1) Chiudi il progetto e XCode

2) Nel terminale ripetere il comando

> pod install

3) Apri il progetto

(Se non aiuta, prova a rimuovere Pod / cartella prima di reinstallare)


1
Inoltre, rimuovere la Pod/cartella prima di reinstallare
nikans

7

Ho provato tutte queste soluzioni: ricostruzione, pulizia, reinstallazione dei pod, ecc., Ma nel mio caso, si è verificato un problema nel cambiare l'impostazione "Build Active Architecture Only" su "No", a causa di un AR libreria che stavo usando. Modificato di nuovo in "Sì" ed è stato risolto. Spero che questo aiuti qualcuno.


È vero, questo era il problema principale, devi pulire con command-shift-K
Hola Soy Edu Feliz Navidad

Ho dovuto impostarlo da SI a NO. Strano.
Mundi

7

Ho dovuto fare un prodotto> (Opt Click) Clean Build Folder ... poi ho eseguito di nuovo e il problema era scomparso.


5

Uso Xcode versione 8.3.1 (8E1000a). In qualche modo questo problema si verifica quando volevo installare il modulo SwiftCloudant in pod. Probabilmente non ho chiuso il mio Xcode quando eseguo l'installazione del pod.

Ho risolto il problema aggiungendo manualmente SwiftCloudant.framework nella scheda Target> Generale.

Destinazioni> Generale> Strutture e librerie collegate


Dopo che tutto il resto è fallito, ha funzionato davvero. Molte grazie.
AmirZ

4

Nel mio caso era una ragione diversa, erano le altre flag rapide nelle impostazioni di build dei miei obiettivi, dovevo aggiungere la bandiera ereditata all'inizio.


3

Hai controllato se hai una versione recente di Cocoapods? Puoi aggiornare aggiornando tutte le tue gemme:

sudo gem update

o semplicemente reinstallare Cocoapods:

 [sudo] gem install cocoapods

Se ciò non aiuta, dai anche un'occhiata a: CocoaPods - build per iOS 9 / Swift 2 con Xcode-beta

dove è mostra come modificare facilmente la versione degli strumenti della riga di comando nella scheda "Posizioni" delle preferenze di Xcode e modificare gli "Strumenti della riga di comando" in Xcode 7.0.


Sì, era la build più recente. Ho appena scoperto il problema però. Ho costruito il progetto e all'improvviso ha funzionato.

Ok, allora rispondi alla tua domanda con la soluzione che hai trovato in modo che altri possano risolvere il problema quando lo incontrano,
Glenn,

3

Segui i passi:

1.Installa i pod 2.Apri lo spazio di lavoro 3.Esegui / crea la tua applicazione 4.Quindi puoi importare il framework


2

Impossibile caricare il modulo sottostante

  1. Controllare il percorso quadro: Build Settings -> Framework Search Paths.
  2. Assicurati che il percorso di un framework non contenga spazio.
  3. Se il percorso contiene una variabile, trova il valore delle variabili cercando il nome della variabile nel tuo file Build Settings.
  4. Assicurati che il valore delle variabili non contenga spazi.
  5. Se il percorso contiene spazi, rinomina quelle directory che contengono spazi.
  6. Pulisci e costruisci il progetto.

In sintesi, assicurati che il tuo <Project Root>percorso non contenga spazi. Altrimenti, rinomina quello dirche contiene spazi, quindi pulisci e crea il tuo progetto.

ad esempio, se questa è la radice del tuo progetto:, /Users/handsomeboy/ios app/Fancy App/rinomina la cartella che ha spazi. Un modo per sbarazzarsi dello spazio: passare 'ios app'a'ios_app'


2

L'impostazione GCC_SYMBOLS_PRIVATE_EXTERN(visualizzata come "Simboli nascosti per impostazione predefinita" nelle impostazioni di destinazione) YESnel framework che viene collegata mi ha aiutato a sbarazzarmi di questo errore. Ho passato 2 giorni per scoprirlo, spero che possa aiutare qualcuno :)


2

A questo URL: https://github.com/Alamofire/Alamofire/issues/441

Uno degli utenti ha scritto questo:

Clean non ha funzionato, la reinstallazione dai pod non ha funzionato, l'installazione da carthage non ha funzionato, l'installazione manuale non ha funzionato. Finalmente l'ho fatto funzionare dopo Build for Testing.

Quindi ho provato questo (xcode versione 9.2 (9C40b)):

inserisci qui la descrizione dell'immagine

Ha funzionato per me. L'errore è andato ora.

Nota: il mio pod non era Alamofire, quindi immagino che funzionerà per ogni pod.


2

Un altro possibile scenario: assicurarsi che l'obiettivo del test sia definito all'interno dell'ambito del target principale (non al di fuori di esso)

per esempio

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

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

Se invece assomiglia a:

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

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

allora riceverai anche questo errore.


1

Lo stesso problema per me. L'ho risolto rimuovendo la versione di Alamofire nel file pod.

File pod come

# 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

Nel mio caso:

1. Riga di commento di //import Pod_Module

2. Vai a Progetto -> Pulisci o usa il tasto di scelta rapida (Comando + Maiusc + K)

2. Chiudi il tuo progetto

3. Nel terminale vai alla directory del tuo progetto

4. Esegui > pod install

5. apri il .xcworkspacefile e costruiscilo!

6. Riga di rimozione del commentoimport Pod_Module


0

Quando installi CocoaPods, assicurati di specificare ios 9.0 eliminando il #. Pertanto, # platform :ios, '9.0'dovrebbe essere solo platform :ios, '9.0'Quindi, se l'errore viene visualizzato di nuovo, è sufficiente compilare ed eseguire. Dopo aver creato ed eseguito, l'errore non dovrebbe restituire.

Inoltre, ciò può verificarsi se sul computer è installata più di una versione di Xcode. Esci (non solo chiudi) prima tutte le versioni di Xcode.



0

Se hai verificato che i tuoi pod siano stati installati correttamente, l'errore potrebbe essere associato ai dati derivati ​​rimanenti prima dell'installazione dei pod. Puoi cancellare i tuoi dati derivati ​​andando su File -> Workspace Settings... -> Derived Data. Eliminare la cartella dei dati derivati ​​associata alla tua app e pulire la build dovrebbe risolvere il problema.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.