Фреймворк не найден 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.
Каркас не найден
При использовании стручков мы обычно сталкиваемся с этой проблемой.
Для этого есть две основные причины
- Когда мы открываем файл .xcodeproj вместо .xcworkspace, как упомянуто izaaz-yunus в этом ответе
Когда для Build Active Architecture Only установлено значение Yes в настройках сборки
Это относится к цели проекта, а также ко всем целям в проекте pod
- Выберите Build Settings (основного проекта, оба проекта под)
- Выберите каждую цель по одному
- Установите для параметра " Создать активные архитектуры" значение " Нет" для каждой цели.
Наконец очистите и восстановите ваш проект.
В моем случае вся интеграция выполнена хорошо, и я пытался так много раз удалить и переустановить модуль, но не добился успеха.
Наконец, попробуйте с шагом ниже
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
файл, поэтому я попробовал этот. Выполните следующие действия, чтобы:
- Откройте проект Xcode (проект cocoapods), используя файл.xc....
- Выберите проект Pods в навигаторе проекта (синий значок слева).
- Под Целями убедитесь, что выбран Pods-ProjectName (синий значок).
- Перейдите в "Настройки сборки" и задайте цель развертывания iOS, для какой версии iOS вы собираетесь запустить проект.
Примечание: это то же самое, что вы установили в Project->Targets->Deployment info->Deployment Target
,
Возможно, кто-то получит выгоду от этого.
Если вы столкнулись с той же ошибкой, в вашем 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