Помилка: Не вдалося побудувати модуль Objective-C "Firebase"


110

Коли я компілюю додаток, я отримую помилку, рівну цій:

Не вдалося побудувати модуль Objective-C "Firebase"

Ця помилка з'являється в import Firebaseмоєму файлі швидко.

Відповіді:


206

Існує лише один спосіб вирішити це питання.

  1. Закрийте Xcode.
  2. Видаліть тимчасові файли проекту, розташовані за адресою ~/Library/Developer/Xcode/DerivedData
  3. Видалити ProjectName.xcworkspace
  4. Видалити Podfile.lockфайл і Podsпапку
  5. Біжи pod install.
  6. Відкрийте нещодавно створений ProjectName.xcworkspaceфайл і побудуйте.

Якщо я видалю ProjectName.xcworkspace, чи видаляє він там попередній код?
Мінуси Булакена

4
У мене немає папки Xcode. Я ~/Library/Developer
Йонас,

4
@DimitrisBouzikas велике спасибі! Це було під, ~/User/ME/Library/...і там була схована папка Бібліотека. (Зробив це видимим за допомогою Shift + cmd + (крапка))
Йонас

3
для майбутніх читачів існує бібліотечна папка на комп’ютері та один із користувачів, більшу частину часу він перебуває в одній для користувачів
Джуліан Вагнер

2
Велике спасибі, ти врятував мій час! xCode v12
Мілован Томашевич

51

Build ( + B) працював у мене.


1
працював у мене після того, як я застосував першу відповідь. Також довелося змінити FIRApp.configure () на FirebaseApp.configure ()
aremvee

працював у мене, не застосовуючи відповіді Димитріса Бузікаса, і я додав Firebase до існуючого проекту для тих, хто робить те саме
номер

Я спробував рішення Димитрія, але воно не спрацювало, в результаті відсутні потрібні файли, це рішення вирішило проблему
Маріо Рохас

@MarioRojas Чи можете ви визначити, які потрібні файли? Вивчіть трохи, як працює Pod.
Димитріс Бузікас,

40

Я використовую Swift 4 і Xcode 9. Все, що мені потрібно зробити, це вибрати схему FirebaseCore.

На Xcode:

Product->Scheme->FirebaseCore.

Якщо у вас немає FirebaseCore, перейдіть Manage Schemesі виберіть його. Потім спробуйте ще раз.


1
Фантастично мій друже ти мені допоміг, дякую. Шукав це протягом останніх 4 днів. Дякую. Хлопці його роботи !!!
Каушаль Топінкатті,

1
Це спрацювало і у мене! (Я також перезапустив Xcode, використовуючи 'open myproject.xcworkspace після встановлення Pods на випадок, якщо це важливо)
Люсі

Коли я знову переключаю свою схему на схему додатків, це вже не працює. Хтось може пояснити?
Метью Андерсон,

30

Це може вирішити вашу проблему:

  1. Закрийте Xcode. (Не просто закривайте вікно Xcode, клацніть правою кнопкою миші та явно вийдіть із нього).

  2. Перейдіть ~/Library/Developer/Xcode/DerivedDataі видаліть папку проекту. (Просто видаліть усі папки).

  3. Очистіть і побудуйте проект.

Якщо помилка все ще існує:

Виконайте кроки 1 та 2 та виконайте такі дії:

  1. Змінити схему на Firebase та Build ( Command+ B).

  2. Поверніться до схеми програми та запустіть знову.


3
Наведені вище кроки не вирішили моєї проблеми, будь ласка, допоможіть мені.
Самарт

Будь ласка, спробуйте інші відповіді. Ваш випадок може бути різним.
Абхіджіт

16

Я відкрив проект за допомогою .xcodeproj і встановив Firebase з cocoapods. Я отримав ту ж помилку. Але я просто закриваю проект і відкриваю його за допомогою .xcworkspace.

Оповіщення пройшло. Firebase була першою бібліотекою мого проекту. Тому я продовжував використовувати файл .xcodeproj.


10

Правильно встановіть FireBase через CocoaPods . Спробуйте наступні кроки

Крок 1 - Закрийте Xcode

Крок 2 - Очистіть отримані дані. Ви можете отримати свої похідні дані тут

~ / Library / Developer / Xcode / DerivedData

Крок 3 - Відкрийте .xcworkspace

Крок 4 - Очистіть свій проект ( ⌘ + Shift + K )

Крок 5 - Створіть свій проект ( ⌘ + B )

Переконайтеся, що ваш файл .xcworkspace відкрито


Це була єдина відповідь, яка працювала для мене за допомогою Xcode 9.4 у додатку Ionic 3.
Брент


3

Я використовую Swift 4 та Xcode 9.4. Це допомогло вирішити те саме питання для мене.

Я вибрав наступні фреймворки в XCode -> Керувати схемами, крім мого цільового проекту

У Xcode:

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

3

Спробував зазначені вище пропозиції, але вони не спрацювали для мене. Що працювало для мене, так це будуватиGeneric iOS Device а потім запустити його на своєму фізичному пристрої iPhone6.

Однак я все ще не міг запустити його на тренажері. Що тут спрацювало, так це змінитись Build Active Architecture Only - Debugна NO, в Pod Project Build Settings.

Сподіваюся, це комусь допомагає.


Дякую ВАМ @marceh, це мені допомогло. Спробувавши наведені вище дії, це не спрацювало.
ArdenDev

2

Ви можете спробувати поглянути на мою відповідь тут

TL; DR переконайтеся, що ви використовуєте версію cocoapods1.4.0 minimum . Він виправляє імпорт статичних фреймворків.

Ви можете зробити це, запустивши sudo gem install cocoapodsна своєму терміналі та перевіривши свою версію, набравшиpod --version


2

Я спробував це (вихід із Xcode, видалення всіх тимчасових файлів, перевстановлення модулів тощо), і це не спрацювало. Що працювало, це просто будування мого проекту ( command + b) після pod install. Що б не працювало!


2

Я відключив функцію "Знайти неявні залежності" для швидшого процесу побудови під Edit Scheme... > Build.

Повернення назад вирішило проблему. введіть тут опис зображення


1
Продукт => Редагувати схему ...
Ярлик

2

Це сталося зі мною, оскільки я встановив Firebase CocoaPods, але не відкрив його знову через <projectName>.xcworkspaceфайл. Отже, що я зробив для роботи:

  • Я кинув Xcode
  • відкрив його, натиснувши <projectName>.xcworkspaceфайл проекту
  • тоді я міг використати "імпорт Firebase" у своєму проекті.

2

Нещодавно у мене була ця проблема при використанні Xcode 12. Я виявив, що видалення параметра збірки Valid Architectures (VALID_ARCHS) це виправило.

З приміток до випуску Xcode 12 :

Редактор Налаштування збірки більше не включає налаштування дійсних архітектур (VALID_ARCHS), і його використання не рекомендується. Натомість є новий параметр збірки Excluded Architectures (EXCLUDED_ARCHS). Якщо проект включає VALID_ARCHS, параметр відображається в розділі "Визначений користувачем" редактора "Параметри побудови". (15145028)


Ця відповідь дуже корисна. Дякую!
Міцуакі Ішімото,

1

Це спрацювало для мене:

  1. Закрийте Xcode
  2. стручок розпадається
  3. видалити xcworkspace - -
  4. встановити pod
  5. У Навігаторі проекту> назва проекту> Конфігурації
  6. Встановіть для всіх значення none
  7. Чистий
  8. Збірка


1

Це спрацювало для мене, коли я відкрив білу робочу область замість синьої. Ви натискаєте на файл на робочому столі, а потім натискаєте білий файл.

Зображення того, як виглядає файл: Зображення того, як виглядає файл


0

Це сталося зі мною сьогодні, я просто не міг зрозуміти, чому, тому що коли я закрив файл тієї ночі, все було ідеально. Я відкрив свій файл за допомогою меню останніх проектів і отримав цю проблему. Потім я вирішив щось перевірити, Xcode відкрив неправильний файл. Замість того, щоб відкрити файл робочої області за допомогою стручків, він відкрив проект Xcode.

Як тільки я відкрив робочу область, у ній не було помилок, і всі стручки поводились. Я впевнений, що ви, хлопці, досвідченіші за мене, але я просто хотів кинути це туди.



0

Тут у мене нічого не працювало, але потім я зрозумів щось, що спрацювало.

Коли я натиснув свій проект у Project Navigator у Xcode, а потім вибрав Інформацію, я подивився розділ « Конфігурації» і побачив, що для мого додатка існує лише конфігурація Release, а конфігурація налагодження .

Для того , щоб отримати Firebase на роботу, я пішов Боби в Project Navigator, і під Configurations розділі я видалив Debug конфігурації. Тепер це добре будується. Сподіваємось, це допоможе комусь іншому.


0

Через 2 дні пошуку та випробування кожного кроку, запропонованого в цій публікації, врешті-решт я міг вирішити проблему. Жоден із наведених вище підходів не вирішив моєї проблеми, окрім цієї:

  1. За цим посиланням можна завантажити пакет фреймворків Firebase: https://firebase.google.com/download/ios?authuser=0
  2. У цьому пакеті є файл заголовка Firebase.h. Я додав цей файл заголовка до своїх ресурсів проекту.
  3. Нарешті я додав рядок коду у верхній частині цього файлу: '#import "Firebase.h"'

Просто та легко помилка зникла!


0

For and Solution було настільки простим, як я не відкрив проект із .xcworkspace після того, як я зробив установку pod: D, і я отримав ту саму помилку, що і у вас. Я помилково відкрив його зі старого файлу .xcodeproj. це було для мене, LOL


0

Жодне з перерахованих вище рішень не спрацювало для мене. Я виявив, що проблема в тому, що у мене є три цілі у файлі Cocoapods. І лише моя головна ціль додала Firebase. Тому, коли я хочу імпортувати Firebase у файл, який використовується в інших цілях, Xcode видає помилку і каже, що модуль "Firebase" не знайдений. Це мій файл проекту pods. Одним із рішень для мене є додавання Firebase pod до всіх цілей. Або іншим рішенням є видалення файлу з інших цілей.

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

Під час побудови переконайтесь, що ви знаходитесь у кореневому каталозі навігатора проекту.


-2

У мене була така сама проблема

Можливо, ви перевстановлюєте стручки з відкритим Xcode, або ваш файл стручків не дозволяє та перезаписує

Відкривши робочу область, видаліть папку "Pods". Закрийте термінал X-Code Open у розділі «Службові програми». Ви знайдете це в розділі «Програми» За допомогою cd ... перейдіть у папку проекту, перевстановіть стручки за допомогою «pod install».

Це повинно це виправити.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.