Cocoapods + Nie można załadować podstawowego modułu dla „x”

91

Używam XCode 7, Swift 2.0, iOS 9.

Chcę zainstalować Alamofire w moim projekcie przy użyciu Cocoapods. Wykonałem następujące czynności:

gem install cocoapods

pod setup

pod init

Zaktualizowano plik Podfile do:

# 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

Następnie zainstalowałem kapsułę:

pod install

I dodałem następujący do ViewController.swift

import Alamofire

Powoduje to następujący błąd:

Cannot load underlying module for 'Alamofire'

Testowałem z inną kapsułą i wywołała ten sam błąd, więc myślę, że problem jest z instalacją Cocoapodów. Każda pomoc byłaby bardzo mile widziana.


źródło
sprawdź, czy zaimportowałeś potrzebne frameworki
user3722523

Odpowiedzi:

212

Wygląda na to, że jest to błąd w XCode. Miałem ten sam problem i jak opisano w komentarzach do innej odpowiedzi na to pytanie, zbudowanie projektu sprawiło, że błąd zniknął.

vichle
źródło
4
Prawie przychodzę tu na początku każdego projektu ... Dzięki kolego
SoliQuiD
2
Cholerne obejście nadal działa. XCode powinien być open source.
Siddharth
25

Idź do Produkt> Kompilacja, a to rozwiąże problem: wprowadź opis obrazu tutaj

Zulqarnain
źródło
14

To zadziałało dla mnie:

  1. Zamknij swój projekt
  2. W terminalu przejdź do katalogu swojego projektu
  3. Dodaj to polecenie: pod update
  4. Po tym wszystkie twoje kapsuły zostaną zaktualizowane. Po prostu uruchom swój projekt
Alex Kolovatov
źródło
10

Nie można załadować podstawowego modułu dla „x” dla SWIFT:

Jak rozwiązać problem:

krok: 1 Utwórz nowy projekt oraz skompiluj i uruchom pomyślnie bez instalowania pod.

krok: 2 Po pomyślnym zbudowaniu i uruchomieniu projektu, spróbuj teraz zainstalować pod, a następnie spróbuj zaimportować obszar, alamofire, wykresy itp ., będzie działać jak urok.

Przypadek niepowodzenia -> Nowy projekt -> Dodaj (dziedzina, alamofire, wykresy itp.) Przez cocoapods bez budowania najpierw -> otwórz obszar roboczy Xcode -> buduj i uruchom

Przypadek sukcesu -> Nowy projekt -> zbuduj i uruchom -> dodaj (dziedzina, alamofire, wykresy itp.) Przez cocoapods -> otwórz obszar roboczy Xcode -> zbuduj i uruchom ponownie = sukces

Bieg
źródło
Nie możesz rozważać „rozpoczęcia nowego projektu” za każdym razem, gdy widzisz ten błąd, gdy 99% czasu ma to miejsce w istniejącym projekcie. A co powiesz na wypróbowanie „aktualizacji pod”
Renexandro
9

Po zainstalowaniu pod Alamofire.

Krok 1 otwórz swój projekt, klikając dwukrotnie plik your_project_name.xcworkspace.

Krok 2 Przejdź do ustawień projektu -> Fazy kompilacji -> Połącz plik binarny z bibliotekami -> Dodaj framework „Alamofire.framework”

Otóż ​​to!!

Teraz możesz zaimportować moduł

Ajay Reddy
źródło
8

Co pomogło w moim przypadku:

1) Zamknij projekt i XCode

2) W poleceniu powtarzania terminala

> pod install

3) Otwórz projekt

(Jeśli to nie pomoże, spróbuj usunąć pod / folder przed ponowną instalacją)

Andrzej
źródło
1
Usuń również Pod/folder przed ponowną instalacją
nikans
7

Wypróbowałem wszystkie te rozwiązania: przebudowa, czyszczenie, ponowna instalacja strąków itp., Ale w moim przypadku był to problem zmiany ustawienia `` Buduj tylko aktywną architekturę '' na `` Nie '' z powodu AR Biblioteka, z której korzystałem. Zmieniono go z powrotem na „Tak” i zostało to naprawione. Mam nadzieję, że to komuś pomoże.

Jacobo Koenig
źródło
To prawda, to był główny problem, musisz czyścić komendą shift-K
Hola Soy Edu Feliz Navidad
Musiałem ustawić go z TAK na NIE. Dziwne.
Mundi
7

Musiałem zrobić Produkt> (Kliknij opcję) Wyczyść folder kompilacji ... następnie uruchomiłem ponownie i problem zniknął.

shokaveli
źródło
5

Korzystam z Xcode w wersji 8.3.1 (8E1000a). W jakiś sposób ten problem występuje, gdy chciałem zainstalować moduł SwiftCloudant. Prawdopodobnie nie zamknąłem mojego Xcode podczas uruchamiania instalacji pod.

Naprawiłem to ręcznie, dodając SwiftCloudant.framework na karcie Cele> Ogólne.

Cele> Ogólne> Powiązane struktury i biblioteki

khongks
źródło
Po tym, jak wszystko inne zawiodło, to faktycznie zadziałało. Wielkie dzięki.
AmirZ
4

W moim przypadku był to inny powód, były to Inne szybkie flagi w ustawieniach kompilacji celów, musiałem dodać odziedziczoną flagę na górze.

Abd al-rhman Taher Badary
źródło
3

Czy sprawdziłeś, czy masz najnowszą wersję Cocoapods? Możesz zaktualizować, aktualizując wszystkie swoje klejnoty:

sudo gem update

lub po prostu zainstaluj ponownie Cocoapods:

 [sudo] gem install cocoapods

Jeśli to nie pomoże, spójrz również na: CocoaPods - build for iOS 9 / Swift 2 with Xcode-beta

gdzie jest pokazuje, jak łatwo zmienić wersję narzędzi wiersza polecenia na karcie „Lokalizacje” preferencji Xcode i zmienić „Narzędzia wiersza polecenia” na Xcode 7.0.

Glenn
źródło
Tak, to była najnowsza wersja. Właśnie znalazłem problem. Zbudowałem projekt i nagle zadziałał.
Ok, odpowiedz na własne pytanie, podając rozwiązanie, które znalazłeś, aby inni mogli rozwiązać ten problem, gdy go napotkają,
Glenn
3

Wykonaj kroki:

1.Zainstaluj pody 2.Otwórz WorkSpace 3.Uruchom / skompiluj aplikację 4. Następnie możesz zaimportować framework

Augustin A.
źródło
2

Nie można załadować podstawowego modułu

  1. Sprawdź ścieżkę ramowej: Build Settings -> Framework Search Paths.
  2. Upewnij się, że ścieżka do frameworka nie zawiera spacji.
  3. Jeśli ścieżka zawiera zmienną, znajdź wartość zmiennych, wyszukując nazwę zmiennej w pliku Build Settings.
  4. Upewnij się, że wartość zmiennych nie zawiera spacji.
  5. Jeśli ścieżka zawiera spacje, zmień nazwy katalogów, które zawierają spacje.
  6. Wyczyść i skompiluj projekt.

Podsumowując, upewnij się, że twoja <Project Root>ścieżka nie zawiera spacji. W przeciwnym razie zmień nazwę dirzawierającą spacje, a następnie wyczyść i skompiluj projekt.

np. Jeśli jest to katalog główny Twojego projektu:, /Users/handsomeboy/ios app/Fancy App/zmień nazwę folderu zawierającego spacje. Jeden sposób na pozbycie się przestrzeni: zmień 'ios app'na'ios_app'

Markus Wu
źródło
2

Ustawienie GCC_SYMBOLS_PRIVATE_EXTERN(wyświetlane jako „Symbole ukryte domyślnie” w ustawieniach docelowych) do YESw powiązanym frameworku pomogło mi pozbyć się tego błędu. Spędziłem 2 dni, żeby się o tym przekonać, mam nadzieję, że to komuś pomoże :)

Aleksandra
źródło
2

Pod tym adresem URL: https://github.com/Alamofire/Alamofire/issues/441

Jeden z użytkowników napisał to:

Czyszczenie nie działało, ponowna instalacja ze strąków nie działała, instalacja z kartaginy nie działała, instalacja ręczna nie działała. W końcu udało mi się to uruchomić po kompilacji do testowania.

Więc próbowałem tego (xcode w wersji 9.2 (9C40b)):

wprowadź opis obrazu tutaj

U mnie zadziałało. Błąd zniknął teraz.

Uwaga: Mój kapsuła nie była Alamofire, więc myślę, że będzie działać dla każdego Poda.

EFE
źródło
2

Inny możliwy scenariusz: upewnij się, że cel testowy jest zdefiniowany w zakresie celu nadrzędnego (nie poza nim)

na przykład

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

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

Jeśli zamiast tego wygląda to tak:

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

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

wtedy również otrzymasz ten błąd.

okradziono mnie
źródło
1

Dla mnie ten sam problem. Rozwiązałem to usuwając wersję Alamofire w pliku pod.

Plik poda jako

# 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
Purushottam Padhya
źródło
1

W moim przypadku:

1. Linia komentarza //import Pod_Module

2. Przejdź do Projekt -> Wyczyść lub użyj skrótu klawiszowego (Command + Shift + K)

2. Zamknij projekt

3. W terminalu przejdź do katalogu projektu

4. uruchom > pod install

5. otwórz .xcworkspaceplik i Zbuduj to!

6. Linia odkomentowaniaimport Pod_Module

Reza Dehnavi
źródło
0

Podczas instalowania CocoaPods, pamiętaj, aby określić iOS 9.0, usuwając #. Dlatego # platform :ios, '9.0'powinno być po prostu. platform :ios, '9.0'Jeśli błąd pojawi się ponownie, po prostu skompiluj i uruchom. Po skompilowaniu i uruchomieniu błąd nie powinien powrócić.

Może się to również zdarzyć, jeśli na komputerze jest zainstalowana więcej niż jedna wersja Xcode. Najpierw zamknij (nie tylko zamknij) wszystkie wersje Xcode.


źródło
0

spróbuj Build For testing działa dla mnie

Tawfik Bouabid
źródło
0

Jeśli zweryfikowałeś, że Twoje Pods zostały pomyślnie zainstalowane, błąd może być powiązany z Twoimi danymi pochodnymi pozostałymi przed zainstalowaniem Podów. Możesz wyczyścić swoje dane pochodne, przechodząc do File -> Workspace Settings... -> Derived Data. Usunięcie folderu danych pochodnych skojarzonego z aplikacją i wyczyszczenie kompilacji powinno rozwiązać problem.

Brian Li
źródło