Cocoapods + Não é possível carregar o módulo subjacente para 'x'


89

Estou executando o XCode 7, Swift 2.0, iOS 9.

Quero instalar o Alamofire em meu projeto usando Cocoapods. Eu fiz o seguinte:

gem install cocoapods

pod setup

pod init

Podfile atualizado para:

# 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

Então instalei o pod:

pod install

E adicionei o seguinte a ViewController.swift

import Alamofire

Isso gera o seguinte erro:

Cannot load underlying module for 'Alamofire'

Testei com outro pod e gerou o mesmo erro, então acho que o problema é com a instalação do Cocoapods. Qualquer ajuda seria muito apreciada.


verifique se você importou as estruturas necessárias
user3722523,

Respostas:


209

Este parece ser um bug no XCode. Eu tive o mesmo problema, e conforme descrito nos comentários de outra resposta a essa pergunta, construir o projeto fez com que o erro desaparecesse.


4
Quase venho aqui no início de qualquer projeto ... Obrigado amigo
SoliQuiD

2
A maldita solução alternativa ainda funciona. XCode deve ser de código aberto.
Siddharth


14

Isso funcionou para mim:

  1. Feche seu projeto
  2. No terminal, vá para o diretório do seu projeto
  3. Adicione este comando: pod update
  4. Depois disso, todos os seus pods serão atualizados. Basta executar seu projeto

10

Não é possível carregar o módulo subjacente para 'x' para SWIFT:

Como corrigir o problema:

passo: 1 Crie um novo projeto e construa e execute com sucesso sem instalar o pod.

passo: 2 Depois de construir e executar o projeto com sucesso, agora tente instalar o pod e, em seguida, tente importrealm, alamofire, gráficos, etc, ele funcionará como um encanto.

Caso de falha -> Novo projeto -> Adicionar (reino, alamofire, gráficos etc) via cocoapods sem construir primeiro -> abrir o espaço de trabalho do Xcode -> construir e executar

Caso de sucesso -> Novo projeto -> construir e executar -> adicionar (reino, alamofire, gráficos etc) via cocoapods -> abrir espaço de trabalho do Xcode -> construir e executar novamente = sucesso


Você não pode considerar "iniciar um novo projeto" toda vez que vir esse erro, quando 99% das vezes ele está acontecendo em um projeto existente. Que tal tentar apenas 'atualização de pod'
Renexandro

9

Depois de instalar o pod Alamofire.

Passo 1 você deve abrir seu projeto clicando duas vezes no arquivo your_project_name.xcworkspace.

Etapa.2 Vá para as configurações do projeto -> Fases de construção -> Vincular binário às bibliotecas -> Adicionar estrutura "Alamofire.framework"

É isso aí!!

Agora você pode importar o módulo


8

O que ajudou no meu caso:

1) Feche o projeto e o XCode

2) No comando de repetição do terminal

> pod install

3) Abra o projeto

(Se não ajudar, tente remover o pod / pasta antes de reinstalar)


1
Além disso, remova a Pod/pasta antes de reinstalar
nikans

7

Tentei todas essas soluções: reconstruir, limpar, reinstalar os pods, etc., mas no meu caso, foi um problema de alterar minha configuração 'Construir somente arquitetura ativa' para 'Não', devido a um AR biblioteca que eu estava usando. Alterou de volta para 'Sim' e foi corrigido. Espero que isso ajude alguém.


Verdade, esse era o problema principal, você tem que limpar com comando-shift-K
Hola Soy Edu Feliz Navidad

Eu tive que definir de SIM para NÃO. Esquisito.
Mundi

7

Tive que fazer um Produto> (clique em Opt) Limpar pasta de compilação ..., executei novamente e o problema foi resolvido.


5

Estou no Xcode versão 8.3.1 (8E1000a). De alguma forma, esse problema ocorre quando eu queria instalar o módulo SwiftCloudant em pod. Provavelmente não fechei meu Xcode ao executar o pod install.

Corrigi isso adicionando manualmente o SwiftCloudant.framework na guia Targets> Geral.

Alvos> Geral> Estruturas e bibliotecas vinculadas


Depois que tudo mais falhou, isso realmente funcionou. Muito obrigado.
AmirZ

4

No meu caso, foi por um motivo diferente, foram as outras bandeiras rápidas em minha configuração de construção de alvos, eu tive que adicionar a bandeira herdada no topo.


3

Você verificou se possui uma versão recente do Cocoapods? Você pode atualizar atualizando todas as suas joias:

sudo gem update

ou apenas reinstale os Cocoapods:

 [sudo] gem install cocoapods

Se isso não ajudar, dê uma olhada em: CocoaPods - versão para iOS 9 / Swift 2 com Xcode-beta

where is mostra como alterar facilmente a versão das ferramentas de linha de comando na guia "Locais" das Preferências do Xcode e alterar "Ferramentas da linha de comando" para Xcode 7.0.


Sim, foi a compilação mais recente. Eu apenas descobri o problema. Construí o projeto e, de repente, funcionou.

Ok, então responda sua própria pergunta com a solução que você descobriu para que outros possam corrigir o problema quando encontrarem isso,
Glenn

3

Siga os passos:

1.Instalar pods 2.Abra o espaço de trabalho 3.Run/build seu aplicativo 4.Então você pode importar o framework


2

Não foi possível carregar o módulo subjacente

  1. Verifique o caminho de quadro: Build Settings -> Framework Search Paths.
  2. Certifique-se de que o caminho para uma estrutura não contenha espaço.
  3. Se o caminho contiver uma variável, encontre o valor das variáveis ​​pesquisando o nome da variável em seu Build Settings.
  4. Certifique-se de que o valor das variáveis ​​não contenha espaço.
  5. Se o caminho contiver espaços, renomeie os diretórios que contêm espaços.
  6. Limpe e construa o projeto.

Em resumo, certifique-se de que seu <Project Root>caminho não contenha espaço. Caso contrário, renomeie o dirque contém espaços e, em seguida, limpe e construa seu projeto.

por exemplo, se esta for a raiz do seu projeto:, /Users/handsomeboy/ios app/Fancy App/renomeie a pasta que contém espaços. Uma maneira de se livrar do espaço: mude 'ios app'para'ios_app'


2

A configuração GCC_SYMBOLS_PRIVATE_EXTERN(exibida como "Símbolos ocultos por padrão" nas configurações de destino) para a YESestrutura sendo vinculada me ajudou a me livrar desse erro. Passei 2 dias para descobrir isso, espero que ajude alguém :)


2

Neste URL: https://github.com/Alamofire/Alamofire/issues/441

Um dos usuários escreveu isto:

Limpar não funcionou, reinstalar a partir de cápsulas não funcionou, instalar a partir de cartago não funcionou, a instalação manual não funcionou. Eu finalmente consegui fazer funcionar depois de Build for Testing.

Então, tentei isso (xcode versão 9.2 (9C40b)):

insira a descrição da imagem aqui

Funcionou para mim. O erro desapareceu agora.

Observação: meu pod não era Alamofire, então acho que funcionará com todos os pods.


2

Outro cenário possível: certifique-se de que o alvo de teste esteja definido dentro do escopo do alvo pai (e não fora dele)

por exemplo

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

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

Em vez disso, parece:

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

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

então você também receberá esse erro.


1

O mesmo problema para mim. Resolvi isso removendo a versão Alamofire do arquivo pod.

Arquivo de pod como

# 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

No meu caso:

1. Linha de comentário //import Pod_Module

2. Vá para Projeto -> Limpar ou use a tecla de atalho (Command + Shift + K)

2. Feche seu projeto

3. No terminal, vá para o diretório do projeto

4. execute > pod install

5. abra o .xcworkspacearquivo e construa!

6. Linha de descomentar deimport Pod_Module


0

Ao instalar CocoaPods, certifique-se de especificar ios 9.0 excluindo o #. Portanto, # platform :ios, '9.0'deve ser apenas platform :ios, '9.0'então, se o erro aparecer novamente, basta construir e executar. Depois de criar e executar, o erro não deve retornar.

Além disso, isso pode ocorrer se você tiver mais de uma versão do Xcode instalada em seu computador. Saia (não apenas feche) todas as versões do Xcode primeiro.



0

Se você verificou que seus pods foram instalados com êxito, o erro pode estar associado aos dados derivados restantes de antes da instalação dos pods. Você pode limpar seus dados derivados acessando File -> Workspace Settings... -> Derived Data. Excluir a pasta de dados derivada associada ao seu aplicativo e limpar sua construção deve resolver o problema.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.