Błąd: nie można zbudować modułu Objective-C „Firebase”


110

Kiedy kompiluję aplikację, otrzymuję następujący błąd:

Nie można zbudować modułu Objective-C „Firebase”

Ten błąd pojawia się import Firebaseszybko w moim pliku.

Odpowiedzi:


206

Jest tylko jeden sposób rozwiązania tego problemu.

  1. Zamknij Xcode.
  2. Usuń pliki tymczasowe projektu znajdujące się pod adresem ~/Library/Developer/Xcode/DerivedData
  3. Usunąć ProjectName.xcworkspace
  4. Usuń Podfile.lockplik i Podsfolder
  5. Biegnij pod install.
  6. Otwórz nowo utworzony ProjectName.xcworkspaceplik i skompiluj.

Jeśli usunę nazwę ProjectName.xcworkspace, czy spowoduje to usunięcie tam poprzedniego kodu?
Cons Bulaquena

4
Nie mam folderu Xcode I ~/Library/Developer
Jonas

4
@DimitrisBouzikas wielkie dzięki! To było pod ~/User/ME/Library/...i tam folder Biblioteki był ukryty. (Widoczność za pomocą Shift + cmd + (kropka))
Jonas

3
dla przyszłych czytelników jest katalog biblioteczny komputera i jeden z użytkowników, najczęściej jest to folder użytkowników
Julian Wagner

2
Wielkie dzięki, zaoszczędziłeś mi czasu! xCode v12
Milovan Tomašević

51

Build ( + B) zadziałał dla mnie.


1
zadziałało dla mnie po zastosowaniu pierwszej odpowiedzi. Musiałem także zmienić FIRApp.configure () na FirebaseApp.configure ()
aremvee

pracował dla mnie bez konieczności stosowania odpowiedzi Dimitrisa Bouzikasa, a ja dodawałem firebase do istniejącego projektu dla tych, którzy robią to samo
nommer

Wypróbowałem rozwiązanie Dimitri, ale nie zadziałało, skończyło się brakiem niezbędnych plików, to rozwiązanie rozwiązało problem
Mario Rojas

@MarioRojas Czy możesz określić, jakie są potrzebne pliki? Przestudiuj trochę, jak działa Pod.
Dimitris Bouzikas

40

Używam Swift 4 i Xcode 9. Wszystko, co muszę zrobić, to wybrać schemat FirebaseCore.

W Xcode:

Product->Scheme->FirebaseCore.

Jeśli nie masz FirebaseCore, przejdź do Manage Schemesi wybierz go. Następnie spróbuj ponownie.


1
Fantastycznie mój przyjacielu, pomogłeś mi, dziękuję. Szukałem tego w ciągu ostatnich 4 dni. Dziękuję Ci. Chłopaki, to działa !!!
Kaushal Topinkatti

1
Dla mnie to też zadziałało! (Zrestartowałem również Xcode za pomocą „open myproject.xcworkspace po zainstalowaniu Pods” w razie potrzeby)
Lucy

Kiedy przełączam schemat z powrotem na schemat aplikacji, to już nie działa. Czy mógłby ktoś wyjaśnić?
Matthew Anderson,

30

To może rozwiązać problem:

  1. Zamknij Xcode. (Nie zamykaj tylko okna Xcode, kliknij prawym przyciskiem myszy i wyraźnie zamknij).

  2. Przejdź do ~/Library/Developer/Xcode/DerivedDatafolderu projektu i usuń go. (Po prostu usuń wszystkie foldery).

  3. Oczyść i skompiluj projekt.

Jeśli nadal występuje błąd:

Wykonaj kroki 1 i 2 i wykonaj następujące kroki:

  1. Zmień schemat na Firebase i Build ( Command+ B).

  2. Wróć do schematu aplikacji i uruchom ponownie.


3
Powyższe kroki nie rozwiązały mojego problemu, pomóż mi.
Samarth Kejriwal

Spróbuj innych odpowiedzi. Twoja sprawa może być inna.
Abhijith

16

Otworzyłem projekt z .xcodeproj i zainstalowałem Firebase z cocoapodami. Mam ten sam błąd. Ale po prostu zamykam projekt i otwieram go za pomocą .xcworkspace.

Alert zniknął. Firebase był pierwszą biblioteką w moim projekcie. Więc nadal korzystałem z pliku .xcodeproj.


10

Zainstaluj FireBase poprawnie za pomocą CocoaPods . Spróbuj wykonać następujące czynności

Krok 1 - Zamknij Xcode

Krok 2 - Wyczyść dane pochodne. Możesz znaleźć swoje dane pochodne tutaj

~ / Library / Developer / Xcode / DerivedData

Krok 3 - Otwórz swój .xcworkspace

Krok 4 - Wyczyść swój projekt ( ⌘ + Shift + K )

Krok 5 - Zbuduj swój projekt ( ⌘ + B )

Upewnij się, że masz otwarty plik .xcworkspace


To była jedyna odpowiedź, która działała dla mnie przy użyciu Xcode 9.4 w aplikacji Ionic 3.
Brent


3

Używam Swift 4 i Xcode 9.4. Pomogło mi to rozwiązać ten sam problem.

Oprócz mojego projektu docelowego wybrałem następujące frameworki w XCode -> Manage Schemes

W Xcode:

Product-> Scheme-> FirebaseCore
Product -> Scheme -> nanopb
Product -> Scheme -> GoogleToolBoxforMac 

3

Wypróbowałem powyższe sugestie, ale nie zadziałały. Generic iOS DeviceUdało mi się najpierw zbudować, a następnie uruchomić go na moim fizycznym urządzeniu iPhone6.

Jednak nadal nie mogłem go uruchomić na symulatorze. To, co tutaj zadziałało, to zmiana Build Active Architecture Only - Debugna NOw Pod Project Build Settings.

Mam nadzieję, że to komuś pomoże.


Dziękuję Ci @marceh, to mi pomogło. Po wykonaniu powyższych czynności nie udało się.
ArdenDev

2

Czy możesz spróbować spojrzeć na moją odpowiedź tutaj

TL; DR upewnij się, że używasz wersji cocoapods 1.4.0 minimum. Naprawia statyczne importy ram.

Możesz to zrobić, uruchamiając sudo gem install cocoapodsna swoim terminalu i weryfikując swoją wersję, wpisującpod --version


2

Próbowałem tego (zamknięcie Xcode, usunięcie wszystkich plików tymczasowych, ponowna instalacja podów itp.) I nie zadziałało. To, co zadziałało, to właśnie zbudowanie mojego projektu ( command + b) po pod install. Cokolwiek działa!


2

Miałem wyłączone znaleźć niejawnego Zależności dla szybszego procesu budowania mocy Edit Scheme... > Build.

Włączenie go z powrotem rozwiązało problem. wprowadź opis obrazu tutaj


1
Produkt => Edytuj schemat ... Skrót to command + <
shinriyo

2

Zdarzyło mi się to, ponieważ zainstalowałem Firebase CocoaPods, ale nie otworzyłem go ponownie przez <projectName>.xcworkspaceplik. Więc co zrobiłem w pracy, to:

  • Opuściłem Xcode
  • otworzył go, klikając <projectName>.xcworkspaceplik projektu
  • wtedy mógłbym użyć „importu Firebase” w moim projekcie.

2

Niedawno miałem ten problem podczas korzystania z Xcode 12. Okazało się, że usunięcie ustawienia kompilacji Valid Architectures (VALID_ARCHS) naprawiło go.

Z informacji o wersji Xcode 12 :

Edytor ustawień kompilacji nie zawiera już ustawienia kompilacji Prawidłowe architektury (VALID_ARCHS) i odradza się jego używanie. Zamiast tego dostępne jest nowe ustawienie kompilacji wykluczonych architektur (EXCLUDED_ARCHS). Jeśli projekt zawiera VALID_ARCHS, ustawienie jest wyświetlane w sekcji Zdefiniowane przez użytkownika w edytorze ustawień kompilacji. (15145028)


Ta odpowiedź jest bardzo pomocna. Dziękuję Ci!
Mitsuaki Ishimoto

1

To zadziałało dla mnie:

  1. Zamknij Xcode
  2. strąk dezintegracji
  3. usuń xcworkspace
  4. pod install
  5. W Nawigatorze projektu> nazwa projektu> Konfiguracje
  6. Ustaw wszystko na zero
  7. Czysty
  8. Budować


1

U mnie zadziałało, kiedy otworzyłem biały obszar roboczy zamiast niebieskiego. Naciskasz plik na pulpicie, a następnie naciskasz biały plik.

Obraz przedstawiający wygląd pliku: Obraz przedstawiający wygląd pliku


0

Przydarzyło mi się to dzisiaj, po prostu nie mogłem zrozumieć, dlaczego, ponieważ kiedy zamknąłem teczkę tej nocy, wszystko było idealne. Otworzyłem plik za pomocą menu ostatnich projektów i otrzymałem ten problem. Wtedy postanowiłem coś sprawdzić, Xcode otworzył zły plik. Zamiast otwierać plik obszaru roboczego z podami, otworzył projekt Xcode.

Po otwarciu obszaru roboczego był on wolny od błędów i wszystkie strąki działały. Jestem pewien, że wszyscy jesteście bardziej doświadczeni niż ja, ale chciałem to tylko wrzucić.



0

Nic tutaj nie działało dla mnie, ale potem odkryłem coś, co zadziałało.

Kiedy kliknąłem mój projekt w Nawigatorze projektu w Xcode, a następnie wybrałem Informacje , przejrzałem sekcję Konfiguracje i zobaczyłem, że jest tylko konfiguracja wydania i nie ma konfiguracji debugowania dla mojej aplikacji.

Aby uruchomić Firebase, przeszedłem do Podów w Nawigatorze projektu iw sekcji Konfiguracje usunąłem konfigurację debugowania . Teraz buduje się dobrze. Mam nadzieję, że pomoże to komuś innemu.


0

Po 2 dniach wyszukiwania i wypróbowywania każdego kroku zaproponowanego w tym poście, w końcu mogłem rozwiązać problem. Żadne z powyższych podejść nie rozwiązało mojego problemu, ale to:

  1. Dostępny jest pakiet frameworków Firebase do pobrania pod tym linkiem: https://firebase.google.com/download/ios?authuser=0
  2. W tym pakiecie znajduje się plik nagłówkowy Firebase.h. Dodałem ten plik nagłówkowy do zasobów mojego projektu.
  3. Na koniec dodałem wiersz kodu na górze tego pliku: '#import "Firebase.h"'

Prosto i łatwo błąd zniknął!


0

Rozwiązanie For and Solution było tak proste, że nie otworzyłem projektu z .xcworkspace po zainstalowaniu pod: D i otrzymałem ten sam błąd, co. Otworzyłem go omyłkowo ze starego pliku .xcodeproj. to było to dla mnie, LOL


0

Żadne z powyższych rozwiązań nie zadziałało. Odkryłem, że problem polegał na tym, że mam trzy cele w pliku Cocoapods. I tylko mój główny cel ma Firebase. Więc kiedy chcę zaimportować Firebase do pliku, który jest używany w innych celach, Xcode wyświetla błąd i mówi, że nie znaleziono modułu „Firebase”. To jest mój plik projektu podów. Jednym z rozwiązań dla mnie jest dodanie modułu Firebase do wszystkich celów. Lub innym rozwiązaniem jest usunięcie pliku z innych celów.

def common_pods
  pod 'XXX'
end

target 'myMainProject' do
  common_pods()
  pod 'Firebase/Core'
  pod 'Firebase/AdMob'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Crashlytics'
  pod 'Firebase/Analytics'
end

target 'myExtention1' do
  common_pods()
end

target 'myextension2' do
  common_pods()
end


0

Podczas budowania upewnij się, że jesteś w katalogu głównym w nawigatorze projektu.


-2

Miałem dokładnie ten sam problem

Możesz ponownie instalować pody przy otwartym Xcode lub plik podów nie zezwoli i nie zostanie nadpisany

Po otwarciu obszaru roboczego usuń folder „Pods”. Zamknij X-Code Otwórz terminal w "Narzędziach" Znajdziesz to w "Aplikacje" Używając cd ... przejdź do folderu projektu i zainstaluj ponownie pody używając "pod install".

To powinno to naprawić.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.