Фреймворк не найден GoogleToolboxForMac

После того, как я обновил свой Firebase через "pod update", я получил такую ​​ошибку:

ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Вот мой Подфайл:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'

target 'BB' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for BB

  target 'BBTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'BBUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

Кто-нибудь знает об этой ошибке?

Я ищу отношения GoogleToolboxForMac и Firebase, но я просто получаю немного информации.

К вашему сведению, я использую Swift 2.3 и Firebase 3.8.0.

Я буду благодарен за любую помощь, которую вы можете оказать. Спасибо!

18 ответов

Решение

У меня была такая же ошибка. После установки модулей вы увидите следующее сообщение.

[!] Пожалуйста, закройте все текущие сеансы XCode и используйте MyApp.xcworkspace для этого проекта.

Я не заметил этого в первый раз и пытался собрать проект, используя обычный файл xcodeproj. После того, как я увидел это сообщение, я открыл нужный проект, и он работал нормально.

Открыв этот проект, вы заметите, что у вас есть два подпроекта. Один будет вашим проектом, а другой - проектом Pods.

Каркас не найден

При использовании стручков мы обычно сталкиваемся с этой проблемой.

Для этого есть две основные причины

  1. Когда мы открываем файл .xcodeproj вместо .xcworkspace, как упомянуто izaaz-yunus в этом ответе

  2. Когда для Build Active Architecture Only установлено значение Yes в настройках сборки

    Это относится к цели проекта, а также ко всем целям в проекте pod

Скриншот основного проекта Установите для параметра Активная архитектура только значение Нет

Скриншот проекта Pod введите описание изображения здесь

  1. Выберите Build Settings (основного проекта, оба проекта под)
  2. Выберите каждую цель по одному
  3. Установите для параметра " Создать активные архитектуры" значение " Нет" для каждой цели.

Наконец очистите и восстановите ваш проект.

В моем случае вся интеграция выполнена хорошо, и я пытался так много раз удалить и переустановить модуль, но не добился успеха.

Наконец, попробуйте с шагом ниже

Projetc-> Управление схемами -> Установите флажок "Pods-MyProjectName"

И получить успех.

GoogleToolboxForMac является зависимостью от Firebase/Messaging. Подробности в подспец. При обновлении pod Cocoapods должен настроить ваше рабочее пространство для сборки и связывания GoogleToolboxForMac.

Похоже, что ваше рабочее пространство в плохом состоянии. Помогает ли Product -> Clean? Как насчет удаления производных данных и ModuleCache (Xcode -> Настройки -> Местоположения -> Производные данные)?

В этом не должно быть необходимости, но вы также можете попробовать явно добавить модуль "GoogleToolboxForMac/Logger" в ваш Podfile.

это работает
1. выберите свой проект в каталогах
2. выберите Общие
3. Добавьте "GoogleToolboxForMac.framework" в связанные "фреймворки и библиотеки"

Это было исправлено путем добавления $(унаследованного) в Настройки сборки -> Поиск LIBRARY_SEARCH_PATHS.

Это понятно, так как при обновлении файла pod для последних версий библиотек, от которых зависит ваш проект, выходные данные отладки сообщают вам, куда нужно добавить все флаги $(унаследованные): LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS

Идти к: target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC" и построить проект.

У меня была такая же проблема, когда я пытался запустить его на моем устройстве. На симуляторе все работало нормально. Я попробовал некоторые из вышеперечисленных, но у меня это не сработало. Я проверил, что я работаю над .xcworkspace вместо .xcodeproj файл, поэтому я попробовал этот. Выполните следующие действия, чтобы:

  1. Откройте проект Xcode (проект cocoapods), используя файл.xc....
  2. Выберите проект Pods в навигаторе проекта (синий значок слева).
  3. Под Целями убедитесь, что выбран Pods-ProjectName (синий значок).
  4. Перейдите в "Настройки сборки" и задайте цель развертывания iOS, для какой версии iOS вы собираетесь запустить проект.

Примечание: это то же самое, что вы установили в Project->Targets->Deployment info->Deployment Target,

Возможно, кто-то получит выгоду от этого.

Если вы столкнулись с той же ошибкой, в вашем XCode перейдите по ссылке:

Ваш проект > Ваша цель > Прокрутите вниз до Linked Framework и библиотек и проверьте, не затенена ли запись библиотеки:

Снимок экрана XCode Linked Framework и библиотек

Если так, удалите и добавьте это снова. В моем случае у меня были дублированные записи, и одна из них была недоступна (когда XCode не может найти их на диске).

Моя проблема заключалась в том, что у меня был скрипт /bin/sh, который копировал определенные модули, которых не было. Это был один из них. Удаление скрипта решило проблему сборки.

Откройте your-project.xcworkspace в месте назначения вашего проекта.

1) Открыть терминал -> 2) $cd /project_destination -> 3) $ открыть ваш-project.xcworkspace

или просто откройте файл в поиске

-Я ищу в жестком диске файлы GoogleToolboxForMac, находящиеся в: /Users/Marco/Documents/iosapps/BomRetiro/Bom Retiro/Pods/Target Support Files

  • А затем я скопировал файлы в эту папку: /Users/YourHomeFolder/Library/Developer/Xcode/DerivedData/Bom_Retiro-bsfjbazzzuwmuidqurdmjvdtnnsb/Build/Products

И тогда для меня решено открыть файл проекта usinf .xcworkspace.

Для тех, у кого после всего этого остались проблемы. Я работаю над проектом Cordova, и проблема внезапно появилась после обновления до XCode 11.5.

Наконец, я смог решить эту проблему, открыв файл pods.json в корне проекта и удалив запись в "библиотеках", принадлежащую "FirebaseMessaging". Мы этим не пользовались, и я не знаю, как оно туда попало. Кроме того, я повсюду изменил "Настройка сборки" -> "Только сборка активной архитектуры" на "Нет".

После этого я снова открыл файл.xcworkspace, и сборка прошла.

Убедитесь, что ваши "Настройки активной архитектуры" для цели проекта и модуля одинаковы. Установка NO в обоих этих случаях устранила мою проблему.

Рабочее решение

  • Поиск GoogleToolboxForMaв xcodeproj
  • Удалить все ссылки из конфигураций сборки

Закрыл проект, который я пытался собрать, после того, как я установил pod, затем открыл.workspace, и все стало идеально.

Swift 5 простой ответ

Shift+Alt+Cmd+K  //Clean the project and Run again! 
//if not work restart Xcode and again clean it 
//Its will work happy coding
    Friends, you must be confused with the exact result, as i was. So, i feel to share the 
screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error.

    See the attached screenshot.
    Screen Shot 1, Screen Shot 2, Screen Shot 3
    [Select Pods][1]
    [Select Targets in the pod][2]
    [Change flag to No][3]


  [1]: https://stackru.com/images/245d1a5a700bdfc5e2857f37212e2d3e20c1c308.png
  [2]: https://stackru.com/images/1a76244de96735d27338763fff64f4d246a4674c.png
  [3]: https://stackru.com/images/c2593f2ef6d79aae621d2e6bb36dc0fe799efad5.png
Другие вопросы по тегам