2015-04-25 5 views
122

Я пытаюсь добавить рамки для моего проекта IOS, но когда я строй я всегда получал такое же сообщение:л.д.: рамки не найдены Бобы

ld: framework not found Pods

clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я пытался удалить мой Pods каталог, а затем запустить pod install я открываю .xcworkspace, как написано в журналах на стручок установке, очищать проект Xcode, а затем попытаться построить, но это будет не работает ..

Мой podfile выглядит следующим образом:

xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj' 
source 'https://github.com/CocoaPods/Specs.git' 
platform :ios, '8.0' 
use_frameworks! 
pod 'SwiftHTTP', '~> 0.9.2' 

Моя версия Xcode является 6.3.1

Спасибо,

+1

ли вы проверить, что 'libpods.a' в«Присоединенные рамочные и библиотеки "вашей цели? И в ваших фазах построения тоже? – BoilingLime

+0

Удалось ли вам это решить? У меня такая же ошибка –

+0

@ChristopherFrancisco Я решил это, проверьте мой ответ. – Arbitur

ответ

317

В Project Navigator в папке Pods я имел в там Pods.framework, который был красным. Он также присутствовал в Linked Frameworks and Libraries. Я удалил обе ссылки, и ошибка исчезла.

TL; DR

Удалить Pods.framework в:

  • Папка с именем Pods
  • Linked Frameworks and Libraries
+5

Думаю, я закончил с этой проблемой после добавления use_frameworks! в мой Подфайл и впоследствии комментируя это. Исправлена ​​ошибка удаления ссылки на Pods.framework. – StephenT

+0

это одна из сумасшедших вещей Cocoapods .... это решение работает довольно хорошо – Gabox

+2

@StephenT Да, я верю, что то, что я тоже сделал, сначала использую 'use_frameworks!', А затем без и, возможно, 'Pods.framework' не было удалены должным образом во время 'pod install'. Может быть, ошибка в Cocoapods. – Arbitur

36

Я очистил эту ошибку, удалив красные .framework файлы, которые были расположены в папка Frameworks в project navigator. Я думаю, что это также автоматически удаляло соответствующие красные записи в разделе Linked Frameworks and Libraries настроек General.

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

+0

Это разрешило мой конфликт (xCode 9.1/Swift 4) – cit

104

Обычно это вызвано открытием файла .xcodeproj вместо .xcworkspace.

Когда вы запускаете 'pod install' в первый раз, он создаст файл .xcworkspace, который включает в себя ваш оригинальный .xcodeproj и проект Pods. Вам нужно закрыть свой .xcodeproj и открыть вместо него .xcworks.

Это обычная проблема при создании проекта с помощью мастера создания нового проекта Xcode. Я часто забываю, что я не в рабочем пространстве, что необходимо для правильной ссылки Cocoapods.

+0

Это решило проблему для меня. – Sebastian

+0

Спасибо! Это меня путает в первый раз –

+1

Ваши объяснения намного лучше, чем я видел в другом месте. Я не понимал, что происходит. Благодаря! –

3

Шаг 1

The first thing that you will need to do is remove the Podfile, Podfile.lock, the Pods folder, and the generated workspace.

Шаг 2

Next, in the .xcodeproj, remove the references to the Pods.xcconfig files and the libPods.a file.

Шаг 3

Within the Build Phases project tab, delete the Check Pods Manifest.lock section (open),Copy Pods Resources section (bottom) and Embed Pod Resources(bottom).

Шаг4

Remove Pods.framework.

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

Это сработало для меня.

5

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

  • удалить Pods.framework
  • убедитесь Pods-<project-name>.framework встраивается

Вы найдете настройки в мишенях -> Linked библиотеки и фреймворки.

+0

Не могли бы вы это проверить: https://github.com/CocoaPods/CocoaPods/issues/6203#issuecomment-261747869 – Esqarrouth

14

Для тех, кто нашел эту проблему. Я использую NativeScript и получил ту же ошибку.

Это происходит, потому что я открыл файл .xcodeproj, но мы должны открыть проект файлом .xcworkspace.

1

Я решил эту проблему, выбрав проект, который был загружен с CocoaPods, и построил его, вы можете нажать «Управление схемами», чтобы он отображался в строке «Выполнить». Затем вы можете восстановить свой проект. Надеюсь, это поможет.

10

Это случилось со мной после обновления моего подфайла и обновления pod.

По какой-то причине у меня был файл фреймворка «Pods_ [ProjectName]» в моем проекте в разделе «Цели»> Общие> Связанные структуры и библиотеки.

Удаление этого, а затем очистка/восстановление исправлено.

+0

Это происходит, когда вы переключаете имена проектов и должны очищать старый. +1 – Babbz77

9

Вы должны удалить свой проект как файл.

your should delete the pods.framework and pods mark red files

3

Использование Xcode 8.3 принятый ответ не работает для меня. Я попробовал много других решений, но ответ @Elliott Davies - это то, что исправлено для меня. Я добавляю скриншот для ясности. По какой-то причине Xcode пытался связать предыдущие настройки podfile, которые больше не существовали. Все, что мне нужно было сделать, это удалить лишние ссылки, и все сработало. Screenshot of Xcode Linked Frameworks and Libraries

5

Просто удалите свой .framework из списка «Ваш проект-> Общая-> Связанная структура & Библиотеки».

+0

Вот и все, у меня было два после того, как я переименовал проект. Благодаря! – Jimmy

0

После удаления и обновления стручок я еще была такая же проблема.

Я обнаружил, что предыдущий разработчик установил флаг в 'Настройки сборки -> Другие флаги компоновщика' с именем Framework (в моем случае -framework 'OGVKit'), из-за которого возникла проблема.

После удаления этого флага проект выполняется правильно.

4

У меня была аналогичная проблема, как

framework not found Pods_OneSignalNotificationServiceExtension 

Она была решена путем удаления следующее. Перейти к цели OneSignalNotificationServiceExtension> Build Phases> Link Binary с библиотеками и удаление Pods_OneSignalNotificationServiceExtension.framework It should be empty here. Надеюсь, что это помогает. Приветствия.

3

Вы, скорее всего, пытаетесь заставить стручки работать в проекте прямо? Единственный способ сделать это - создать отдельный проект, который использует CocoaPods.

Закройте все рабочие пространства, которые вы используете.

Затем убедитесь, что ваш подфайл полностью готов к работе.

В командной строке, где бы ваш файл, введите команду:

pod deintegrate 

Затем установите свой стручок agian.

pod install or pod update 

Теперь вы можете использовать новое рабочее пространство вашего проекта для разработки. Найдите файл под названием .workspace. Используйте этот файл!

Вот руководство по использованию CocoaPods

+0

Только эта работа для меня работала после битвы за 2 дня с ошибкой. –

0

Если вы открыли файл .xcworkspace, и вы до сих пор получил ту же ошибку:

delete all the contents of Pods directory and from command line write "pod install" to resolve the issue. 
Смежные вопросы