библиотека не найдена для -lPods

У меня ошибка при архивировании проекта. Это моя среда.

  • Mac OS Lion
  • Xcode 4.3.1
  • SDK для iOS 5.1

Цель развертывания проекта:

IPHONEOS_DEPLOYMENT_TARGET 3.2

Ошибка показывает:

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я предполагаю, что Pods - это CocoaPods, которые я использовал для управления зависимостями проекта XCode. https://github.com/CocoaPods/CocoaPods

Это мой подфайл

platform :ios  
dependency 'libPusher', '1.1'

Я не уверен, что означает ошибка?


person angelokh    schedule 25.03.2012    source источник
comment
Причина проблемы, о которой не было сказано ни в одном из ответов. проверьте этот ответ здесь: stackoverflow.com/ вопросы / 24050012 /   -  person hasan    schedule 01.10.2017


Ответы (42)


Вы открываете рабочую область (созданную CocoaPods) вместо xcodeproj?

person alloy    schedule 03.04.2012
comment
Я сделал. Проблема решена после изменения архитектуры релиза проекта Pods на armv6 armv7. - person angelokh; 05.04.2012
comment
Ага, в своем Podfile укажите платформу так: platform :ios, :deployment_target => "3.2". Это должно правильно настроить его при следующем запуске pod install. - person alloy; 06.04.2012
comment
Чтобы быть понятным для новичков, вы должны открывать файл .xcworkspace, а не .xcodeproj. Таким образом, в дополнение к вашему проекту Xcode знает о проекте в каталоге Pods/ и о том, как собрать libPods.a. - person Jonathan Tran; 08.07.2013
comment
Следуя комментарию @JonathanTran ... если у вас открыт .xcodeproj, вам нужно закрыть его, прежде чем открывать файл .xcworkspace. - person Ross; 18.09.2013
comment
Обратите внимание, что для проекта, в котором вы используете модули, также должна быть установлена ​​архитектура armv6 armv7 (если это вариант, который вы используете в архитектуре проекта модулей). Если вы этого не сделаете, вы получите ту же ошибку. - person Patrick Bassut; 26.05.2014
comment
Другой случай может быть, когда в Product-.Scheme-.Edit Schema выбрано неправильное место назначения. В моем случае это была 32-битная архитектура iOS. Я поменял его на iPhone 64 бит, и это сработало. Надеюсь это поможет ) - person sermilion; 16.08.2014
comment
При установке модулей с открытым xcode где-то произошла путаница. Я перезапустил xcode и viola, поды были в существующей рабочей области. - person Jacksonkr; 22.08.2017
comment
Спасибо. Почему это не упоминается в интерфейсе командной строки при запуске установки модуля? - person Petrus Theron; 30.05.2018

Я разделил приложение и тестовые цели в Podfile, используя

target :App do
    …
end

target :AppTests do
    …
end

Это привело к появлению двух новых продуктов libPods-App.a и libPods-AppTests.a соответственно, и они сделали предыдущий продукт libPods.a устаревшим. . Мне пришлось удалить этот продукт из раздела Связать двоичный файл с библиотеками конфигурации Фазы сборки обеих целей.

person Andras Hatvani    schedule 15.04.2014
comment
Да, это было для меня, после того, как я попробовал еще десяток вещей ранее в этой теме. У моего подфайла две цели, как указано выше, поэтому libPods.a не собирался. Удаление libPods.a из раздела Link Binary With Libraries устранило его (хотя, конечно, теперь у меня есть 32 сообщения с неопределенными символами для сортировки из-за отсутствия библиотеки SQLite и т. Д. - person Hot Licks; 12.11.2014
comment
Это то же самое исправление, что и stackoverflow.com/a/21694261/581994 и несколько других. - person Hot Licks; 12.11.2014
comment
В настоящее время все еще возникает проблема - person nsantorello; 05.08.2015
comment
они сделали предыдущий продукт libPods.a устаревшим. Пришлось удалить ... - person Vassily; 23.11.2015
comment
В основном это было проблемой для меня. По какой-то причине у меня там тоже был двоичный файл от более старой тестовой цели. - person LJ Wilson; 25.05.2016
comment
Большое спасибо! Мне помогает удаление libPods-OldTargetName.a - person Алексей Алыбин; 27.11.2016

Сегодня я столкнулся с подобной проблемой.

  1. Я настраиваю новый проект
  2. Я установил стручки какао
  3. Я создал новую конфигурацию Preview вместе с существующими Debug и Release
  4. Теперь при компиляции этой новой Preview конфигурации компилятор не сможет связываться с модулями и выдать мне это сообщение:

    ld: library not found for -lPods
    

Решение:

Что мне нужно было сделать, так это бежать

 pod install

снова и таким образом настраивая cocoapods для новой конфигурации Preview. Он обновил мой проект, рабочую область и файл проекта Pod, и проблема исчезла.

person Besi    schedule 02.01.2013
comment
Это меня тоже зацепило. В частности, он продолжал работать еще долго после того, как я создал конфигурации, и проблема возникла только тогда, когда я очистил свои производные данные. - person Daniel Wood; 21.10.2014
comment
И обратите внимание на предупреждения, отображаемые в разделе Sending stats выходных данных pod install --verbose или pod update --verbose, например, цель `yourApp [Debug]` переопределяет параметр сборки `HEADER_SEARCH_PATHS`, определенный в .. .или ... target отменяет настройку сборки `OTHER_LDFLAGS` .... - person jk7; 23.03.2016
comment
измените конфигурацию Предварительный просмотр в Путь к продуктам сборки для каждой конфигурации, а затем выполните установку модуля, модуль не сохраняет мое значение в проекте модуля, есть ли помощь? - person liu pluto; 12.05.2018
comment
Ах! Проблема возникла сразу после создания новой конфигурации для расширений. Первые 3 шага помогают мне разобраться в проблеме. Спасибо! - person iHarshil; 23.08.2019

Убедитесь, что вы открыли .xcworkspace, а не .xcodeproj

person Michal Gumny    schedule 08.01.2013
comment
Это была моя проблема. Я открывал проект из обычного файла проекта Xcode. Как только вы начнете использовать стручки какао, вам нужно начать открывать свой проект из файла .xcworkspace, а не из .xcodeproj. - person HotFudgeSunday; 04.12.2014
comment
хе-хе, я всегда так делаю :) - person yeahdixon; 20.03.2015
comment
ЭТО ЭТО ЭТО ЭТО - person bryan; 18.10.2018
comment
OMG, я хочу обнять тебя. Изменил так много вещей, которые никогда не были проблемой! - person kjonsson; 07.11.2019

У меня не сработало решение, это действительно невыносимо, есть файл libpods.a (который был красным). Я удалил его, и все работает нормально! Приветствую меня;)

person Hemang    schedule 04.11.2014
comment
Со мной тоже было. Я переименовал свою цель, и она создала этот проблемный файл артефакта .a. - person seenickcode; 21.05.2015
comment
Если я это сделаю, то библиотеки, которые я добавил с помощью Cocoapods, не будут добавлены в проект. - person Francisco Corrales Morales; 07.09.2015
comment
u сделал свой день: D, было 2 цели, и я удалил одну, но ее модули все еще и не удалось построить, решено простым удалением ссылки на модули этой цели - person mohammad alabid; 21.03.2017
comment
То же случилось и со мной. Это был старый проект, к которому я не прикасался годами, в нем все еще был старый формат Podfile и так далее. - person Lucas van Dongen; 04.08.2018

Я разделил свои списки модулей в Podfile для разных целей, например:

target :ABC do
  pod 'KissXML', '~> 5.0'
  pod 'libPhoneNumber-iOS', '~> 0.7.2'
end

target :ABCTests do
  pod 'OCMock', '~> 2.2.1', :inhibit_warnings => true
end

И запустил pod install

Это создало новую библиотеку libPods-ABC.a, с которой должен был быть связан мой двоичный файл. Но ошибка заключалась в том, что он не удалял предыдущую библиотеку, т.е. libPods.a.

Решение: удалите библиотеку libPods.a из Build Phases из Link Binary With Libraries.

person Ayush Goel    schedule 21.06.2014
comment
Это то же самое исправление, что и stackoverflow.com/a/23085107/581994 и stackoverflow.com/a/21694261/581994 - person Hot Licks; 12.11.2014
comment
Решение другое. Это исправило это для меня, используя это точное решение. - person cynistersix; 06.01.2015
comment
Удалите библиотеку libPods.a, а затем pod install исправит проблему для меня. - person bisma; 22.02.2016
comment
он устраняется, когда ошибка экспорта IPHONEOS_DEPLOYMENT_TARGET = 9.0 с ld: библиотека не найдена для -lPods - person jacksonfdam; 19.10.2016
comment
У меня работает, после того, как я переименовал цель. - person alsantos123; 26.01.2017
comment
Я удалил libPods.a и libPods-xxx.a. Мне это решение подходит. - person ManuQiao; 03.03.2017

У меня был указан старый файл libPod.a (вероятно, из-за того, что я изменил цели).

Настройки проекта -> Этапы сборки -> Связывание двоичного файла с библиотеками

Обычно cocoapods включает только одну библиотеку, например libPods-target.a или libPods.a. Решил, удалив дубликат.

person Sebastian Hojas    schedule 22.01.2016
comment
Это сработало для меня. Я добавлял поддержку модулей для тестовых целей (* Tests и * UITests), и базовая конфигурация изменилась с Pods.debug на Pods-MyApp.debug, так что теперь мне нужно только libPods-MyApp.a (был блеклый значок для старого libPods.a), - person Nicolas Miari; 17.02.2016
comment
У меня не было потускневшего значка, но это было единственное решение, которое сработало. - person Yogesh Maheshwari; 08.05.2016
comment
То же самое. Спасибо - person rmvz3; 10.07.2017
comment
Я изменил название проекта, и возникает ошибка. Вышеупомянутое решение сработало для меня. - person guness; 01.02.2018

если у вас возникли проблемы с этим на cocoapods v25 / Xcode 5

Проект Pods Xcode теперь устанавливает для параметра сборки ONLY_ACTIVE_ARCH значение YES в конфигурации отладки. Вам нужно будет установить то же самое для вашего проекта / цели, иначе сборка не удастся.

https://github.com/CocoaPods/CocoaPods/wiki/FAQ#running-into-build-failures-after-migrating-to-xcode-5-and-cocoapods-0250

ОБНОВЛЕНИЕ Убедитесь, что у вас есть последние драгоценные камни / коконады

  • система обновления драгоценных камней
  • жемчужина обновление cocoapods

Вы захотите перестроить проект, используя Pod Install, чтобы перестроить проект.

person johndpope    schedule 15.10.2013
comment
Это было для меня после добавления CP в очень старый проект. - person Josh Hudnall; 13.02.2014
comment
То же самое для меня - добавил CP в очень старый проект, мог строить на симуляторе, но как только я переключился на сборку для устройства, сборка не удалась. Этот ответ очень помог! - person Florian; 29.07.2014

Если Xcode жалуется при связывании, например Библиотека для -lPods не найдена, неявные зависимости не обнаруживаются.

Перейдите в Product> Edit Scheme. Нажмите Build. Добавьте статическую библиотеку Pods и убедитесь, что она находится в верхней части списка. Очистите и создайте снова. Если это не сработает, убедитесь, что источник спецификации, которую вы пытаетесь включить, был вытащил из гитхаба. Сделайте это, заглянув в / Pods /. Если он пуст (это не должно быть), убедитесь, что в ~ / .cocoapods / master //. Podspec указан правильный URL-адрес хаба git. Если все еще не работает, проверьте настройки местоположения сборки XCode. Перейдите в «Настройки» -> «Местоположения» -> «Производные данные» -> «Дополнительно» и установите для местоположения сборки значение «Относительно рабочей области».

http://docs.cocoapods.org/guides/getting_started.html

person HoratioCain    schedule 24.09.2013
comment
Первая часть исправила мою проблему (Продукт ›Изменить схему, добавить модули в сборку в качестве первого элемента). Спасибо - person William Power; 11.06.2014
comment
У меня была эта проблема в xCode 6.3 с cocoapods 0.36.0, и это исправило ее. Спасибо! - person ProgrammierTier; 18.06.2015
comment
то же, что и xcode 6.3 cocoapods 0.37 - ›Спасибо !! сходил с ума от целевых настроек, а проблема была в схеме. просто добавьте стручки. - person altagir; 23.07.2015

У меня была такая же проблема, когда я редактировал Podfile, добавляя цель, которую я раньше использовал без цели.

Подфайл

target 'xxxx' do

pod 'xyz'
pod 'abc'    

end

Поразмыслив, я обнаружил, что в разделе «Целевые свойства» ›› Вкладка «Общие» ›› Раздел «Связанные фреймворки и библиотеки» были новые libPods-xxxx.a и старые libPods.a

Я просто удалил libPods.a, и все заработало.

person Khaled Annajar    schedule 06.04.2015
comment
Для меня это тоже было проблемой. Я думаю, что источником проблемы было то, что я обновил CocoaPods и формат Podfile во время разработки. - person gklka; 10.08.2015
comment
У меня был точно такой же сценарий после добавления цели на стручке. +1 за точность - person Adriano Spadoni; 07.10.2015

Вики-сайте CocoaPods на GitHub есть ответ прямо в их FAQ:

  • Go to Product > Edit Scheme
  • Нажмите Build
  • Добавьте статическую библиотеку Pods и убедитесь, что она находится в верхней части списка.
  • Очистить и снова построить
  • Если это не сработает, убедитесь, что источник спецификации, которую вы пытаетесь включить, был взят из github. Сделайте это, заглянув в <Project Dir>/Pods/<Name of spec you are trying to include>. Если он пуст (а быть не должно), убедитесь, что ~/.cocoapods/master/<spec>/<spec>.podspec имеет правильный URL-адрес github.
  • Если все еще не работает, проверьте настройки местоположения сборки XCode. Перейдите к Preferences -> Locations -> Derived Data -> Advanced и установите для расположения сборки значение «Относительно рабочей области».

Снимок экрана

person Chris Schiffhauer    schedule 30.11.2013
comment
Я тоже столкнулся с этой проблемой, но, похоже, я не могу выполнить эти шаги. Я застреваю на странице «Добавить статическую библиотеку модулей» и убеждаюсь, что она находится в верхней части списка. Статическая библиотека не отображается, и я нажимаю, чтобы добавить ее в схему сборки. Любая идея? - person Bay Phillips; 03.12.2013
comment
@BayPhillips Закройте текущий проект и откройте .xcworkspace, созданный в папке вашего проекта. тогда появляется статическая библиотека - person junho; 27.12.2018

Я переименовал проект в «NBSelector» из «Партнеры».

После переименования проекта у меня возникла ошибка «Библиотека не найдена для libPods-Partners». Xcode пытался установить ссылку на старый файл Partners.a. Просто удалите его, если после переименования у вас podInstalled.

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

person Naloiko Eugene    schedule 11.02.2014
comment
идеальное решение для моей проблемы :) но после удаления стручков нужно добавить его снова, если вы хотите его использовать - person satheesh; 27.11.2015

Использование ONLY_ACTIVE_ARCH = NO во всех модулях решило проблему для меня. Чтобы сделать это постоянным, я добавил в свой подфайл хук post_install:

post_install do |installer_representation|
  installer_representation.project.targets.each do |target|
      target.build_configurations.each do |config|
            config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
      end
  end
end

pod install и все готово.

person melle    schedule 30.01.2014

Вы создали «Распространение» или аналогичную конфигурацию для создания архивов Ad-Hoc и App Store? Как и многие другие, я последовал рекомендациям Apple и назвал конфигурацию «Выпуск», назвал ее «Распространение» и установил для нее другие правила подписи. Ну, может быть, это была рекомендация до того, как они представили схемы и опцию «Распределить» в Организаторе, во всяком случае, у меня это было раньше.

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

Тем не менее, архив не отображался в Организаторе, хотя я мог найти его в файловой системе, но он имел нулевой размер.

Последним шагом к исправлению всего этого было изменение параметра «Пропустить установку» для конфигурации «Выпуск» на «НЕТ». Обратите внимание, что вы должны сделать это только для вашего основного проекта, но не для проекта Pods. Лучше оставить проект Pods как есть, так как он генерируется каждый раз, когда вы запускаете «pod install».

Обновление. Только что получил ответ от разработчиков CocoaPods Похоже, у меня это не работает, так как у меня правильно настроена конфигурация Pods. Но это могло помочь кому-то другому.

person i4niac    schedule 23.05.2012

В моем случае проблема заключалась в том, что для местоположения производных данных Xcode было установлено значение «Наследие». Цель CocoaPods (libPods.a) строилась правильно, но Xcode искал ее не в том месте.

Переключение на «Уникальный» (по умолчанию) решило проблему. Вы можете сделать это, перейдя в «Настройки»> «Местоположение» и нажав кнопку «Дополнительно ...».

person Adam Sharp    schedule 29.05.2013
comment
Но я в ситуации, когда мне нужно использовать Legacy, продолжать поиск другого решения ... - person CocoaBob; 29.09.2015

Только добавление «Пути поиска библиотеки» (в настройках сборки «MyProject») в «Pods / build / Debug-iphonesimulator» сработало для меня (при использовании симулятора).

Получил отсюда: https://github.com/CocoaPods/CocoaPods/issues/121#issuecomment-5452473

person Jan M    schedule 13.02.2013

Если вы выполняете архивирование для iOS7 и Xcode5 и получили эти ошибки, перейдите по этой ссылке. Похоже, Apple отказывается от архитектуры, в которой для стручков какао нужны были https://github.com/CocoaPods/CocoaPods/pull/1352

person John Paul Manoza    schedule 22.09.2013

Я обнаружил, что выбор «Найти неявные зависимости» (в схеме «продукт / изменение») решит эту проблему, вместо того, чтобы добавлять модули в качестве цели.

person StackRunner    schedule 08.07.2014
comment
Также может помочь повторный запуск pod install после выполнения этих шагов. - person StackRunner; 19.08.2014

Я просмотрел все ответы здесь, но для меня это было безумно просто ... Перейдите в Target -> Build Phases, затем удалите libPods-YourProject.a, затем добавьте его снова, используя «+». Не беспокойтесь о том, что библиотека станет красной, все в порядке.

person cph2117    schedule 20.08.2014

Я использовал старую версию cocoapod после обновления cocoapods, она предлагает мне обновить установленный модуль из-за серьезного обновления, поскольку я обновляюсь через долгое время. Я обновил его, и новые версии модулей были обновлены нормально. Но после этого я получил ошибку типа library not found for -lPods-xxxprojectName-xxxxxpodName

После того, как я попробовал так много решений, которые были даны в качестве ответа в этой статье, у меня это не сработало. Затем я перешел в настройку своего проекта и обнаружил, что путь к стручкам был изменен, который был на Other Linker Flag

Проверьте правильность имени модуля Manage Schemes и сравните его в Other Linker Flag, измените его, если оно не похоже

Старый путь к пакету был -l"lPods-xxxprojectName-xxxxxpodName"

Но новых модулей было только xxxxxpodName, поэтому я заменил Other Linker Flag на новый, как показано ниже.

Изменен на путь к пакету -l"xxxxxpodName", и он работает.

Я не знаю точной причины этого, но, возможно, это поможет кому-нибудь.

person Bhavin_m    schedule 15.06.2016

Я открыл рабочую область, но получил ту же ошибку.

Для параметра Только сборка активной архитектуры установлено значение ДА.

реши мою проблему.

person Joeful6    schedule 12.10.2018
comment
Что помогает. Спасибо. Как-то было установлено ДА только для отладки, в то время как в остальных конфигах это НЕТ, и я видел эту ошибку для всех сборок, кроме отладки. - person Pavel Yakimenko; 15.10.2019
comment
Это мне только помогло. Такой ответ «Открыть как рабочее пространство» слишком скучен. Я думаю, разработчикам следует сначала достаточно тщательно проверить документацию по установке. - person KoreanXcodeWorker; 09.01.2020

Решил это, выполнив следующие действия:

  • Обновите установку cocoapods. ($ [sudo] gem установить cocoapods)
  • Переустановите зависимости в своем проекте. (установка модуля)
  • Очистить и пересобрать / заархивировать.
person SarpErdag    schedule 25.09.2013
comment
Это действительно сработало очень хорошо. Я обновил один из модулей в моем проекте, и это сломало его. Я выполнил эти шаги, и это сработало. Это было быстрое решение. Спасибо - person agarcian; 06.10.2013

В моем случае pod install исправил проблему после создания схем распространения и выпуска.

person kernix    schedule 27.11.2013

У меня такая же проблема при архивировании для отправки. Обсуждение этого вопроса можно найти здесь: https://github.com/CocoaPods/CocoaPods/issues/155

Таким образом, у меня работают два метода:

  1. Установка «Предпочтения -> Местоположения -> Дополнительно» на «Пользовательский (относительно рабочего пространства)» ИЛИ
  2. Установите для Podfile значение - platform :ios, :deployment_target => "5.0"
person BabyPanda    schedule 31.07.2013

Использование Xcode 5 с iOS 7

Это то, что я сделал после того, как застрял на час. Удалите ARM64 из «Настройка сборки»> «Действительная архитектура».

ДОБАВЛЕНО: Кроме того, в моем случае это не было полученным местоположением данных. Я выбрал уникальное место для постройки.

person ytbryan    schedule 09.10.2013

если вы используете iOS7 и Xcode 5, выполните:

  • Выберите свой проект Pods.
  • Перейдите к целевым модулям и в настройках сборки выберите «Архитектуры»> «Стандартные архитектуры» (armv7, armv7s).
  • Сделайте то же самое для каждой цели вашего проекта Pods.
person rabenson    schedule 06.02.2014

Я пробовал КАЖДЫЙ ответ в этой ветке, но безрезультатно. Наконец, решил мою проблему, сопоставив «Путь к продуктам для сборки до настройки» в моем целевом проекте со значением в проекте Pods. Оказывается, они строились в двух разных местах выхода. Ни одно из других предложений в этой ветке не было актуальным для меня. Было бы здорово, если бы XCode давал полезное описание ошибки (например, ПОЧЕМУ он не может использовать lib - Файл не найден, Соответствующая архитектура не найдена и т. Д.).

person user3588900    schedule 30.04.2014

В этой проблеме, если вы уже установили и обновили pod в своей системе, ваш Xcode не может найти библиотеку Pods. Чтобы решить эту проблему, проверьте следующие причины, которые могут иметь место:

  1. Вы используете рабочее пространство.
  2. Библиотека Pods строит.
  3. На библиотеку Pods есть ссылка в группе продуктов вашего проекта.
  4. Ваша цель включает библиотеку Pods в ссылку на этапе сборки фреймворков.
person Gagan_iOS    schedule 05.06.2014

пытаться

link_with 'YouTarget1', 'YouTarget2' ...

Мой проект заработал, таргеты внезапно перестали компилироваться. Потом добавил "link_with" и вернулся в норму.

По-видимому, теперь он просто подключается к первой цели, о чем говорится в ссылке:

http://guides.cocoapods.org/syntax/podfile.html#link_with

person Wagner Sales    schedule 28.10.2014
comment
этот исправил это для меня ... была проблема, что первая цель была построена, а вторая цель не удалось с ld: library not found for -lPods ... - person Muxor; 16.11.2014

Если проблема не исчезла, попробуйте:

pod update

Сделал для меня работу, надеюсь, это поможет вам.

person Shobhit C    schedule 29.08.2016

Ничего из того, что здесь написано, мне не помогло, но это наставило меня на правильный путь. В итоге я сделал следующее:

  1. Проанализируйте сообщение об ошибке.

    Там написано Library not found: -lPods-... Таким образом, он не может найти эту конкретную библиотеку. Как это решить? Что ж, убедитесь, что эта библиотека находится в пути поиска. Так где же находится эта библиотека?

  2. Найдите, где находится библиотека.

    Я набрал find . | grep -e 'Pods-.*\.a' в терминале в моей папке ~/Library/Developer/Xcode/DerivedData. Я обнаружил, что моя libPods-... библиотека находится в нескольких местах, например ~/Library/Developer/Xcode/DerivedData/[generated-name]/Build/Products/Release-iphonesimulator/libPods-[name].a

  3. Добавьте одну из этих папок в путь поиска библиотеки

    Если мы добавим одну из этих папок в путь поиска библиотеки, то проблема исчезнет. Однако на всех путях есть где-то [generated-name] папка, в моем случае [Project]-guyraaahpczkqmhghlwgsdsqyxxs.

    Так как же нам ответственно добавить эту папку в путь поиска? Используя переменную времени сборки! Мы можем получить список существующих переменных, просмотрев этот ответ. Оказывается, одна из определенных переменных называется ${PODS_CONFIGURATION_BUILD_DIR}, и именно в этой папке находится мой libPods-[Product].a!

  4. Теперь добавьте эту папку в путь поиска библиотеки.

    Это самая легкая часть, и мой ответ на этот вопрос. Перейдите в Настройки сборки - ›Пути поиска -› Поиск в библиотеке, убедитесь, что он свернут, и дважды щелкните ‹Несколько значений. ›.

    В появившемся диалоговом окне щелкните маленький знак «+» в левом нижнем углу. Теперь введите "${PODS_CONFIGURATION_BUILD_DIR}" и оставьте раскрывающийся список без рекурсии. Тип ‹Enter›. Теперь перетащите эту запись до конца вверх, чтобы она располагалась прямо под $(inherited).

  5. Готово. Восстановите свой продукт!

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

person Edward    schedule 18.08.2020

попробуйте открыть файл xcworkspace вместо файла xcodeproj

person Hoàng Nghĩa    schedule 11.05.2013

В моем случае помог № 4 FAQ по этой ссылке: https://github.com/CocoaPods/CocoaPods/wiki/Creating-a-project-that-uses-CocoaPods

Если проблема не исчезнет, ​​вы можете попробовать еще несколько вещей.

person user511    schedule 12.06.2013
comment
Думаю, просто добавление ссылки заслуживает отрицательного голоса. Но вместо того, чтобы перефразировать или скопировать текст оттуда, я счел, однако, что стоит упомянуть - person user511; 13.06.2013
comment
Я обнаружил, что стоит упомянуть, что есть и другие возможные причины этой конкретной ошибки и способы их решения. Это может произойти, даже если вы откроете файл .xcworkspace вместо .xcodeproj. - person user511; 13.06.2013
comment
Я не понимаю, почему вам отказали. Ваш ответ абсолютно верен, и здесь есть другие ответы, которые только что скопировали / вставили контент, на который вы ссылались: / Ссылка не работает, но это новая guides.cocoapods.org/using/troubleshooting.html - person josebama; 29.04.2014

переименовал файл some_project.workspace в some_project.workspace.backup и запустил установку $ pod. Он создал новый файл рабочей области, и ошибка исчезла.

person Jdizzle Foshizzle    schedule 12.09.2013

У меня тоже было такое, Cocoapods версии 0.28.0

Здесь легко исправить, без долгого чтения: - удалите Cocoapods (командная строка или AppCode) - удалите папку Podfile, Podfile.lock, Pods

  • переустановите Cocoapods
  • запустите вновь созданное рабочее пространство.
person brainray    schedule 27.11.2013

Я была такая же проблема. В моем случае это оказалось ошибкой xCode. Все, что мне нужно было сделать, это удалить «Действительные арки», очистить, снова добавить их, и я был готов к работе. Также попробуйте обновленные коконады в целом.

person anders    schedule 21.01.2014

Я решил эту проблему, установив одинаковые архитектуры и допустимые архитектуры для всех модулей, как и для моего проекта. Итак, решение для дыр в моем случае было:

  • обновить стручки какао: sudo gem обновить стручки какао
  • пакеты обновления: обновление пакета
  • В ваших модулях перейдите в «Настройки сборки»> «Архитектуры» и установите здесь «Архитектуры» и «Действительные архитектуры» в точности так же, как и в основном проекте.
person Mumbar    schedule 01.04.2014

Чтобы упростить ответ @ i4niac:

Другой распространенной причиной этого является несоответствие конфигурации сборки схемы. В нашем случае наша схема «AppName-AppStore» имела «Release» в качестве конфигурации сборки архива вместо «AppStore» (для других могло быть наоборот).

person yonix    schedule 10.08.2015

Мне не хватало libPods.a в target, поэтому первым делом нужно добавить его в связанные фреймворки и библиотеки.

Затем выберите Продукт -> Сборка для -> Профилирование (или перед добавлением libPods.a, если он полностью отсутствует)

и, наконец, проверьте свой сценарий Копирование ресурсов Pods в разделе Этапы сборки (если он такой же, как и ваша вторая цель - иногда это зависит от Podfile и его целей) . Тогда вы должны успешно построить.

person Jakub Truhlář    schedule 05.12.2015

Я столкнулся с проблемой, когда я создал свой собственный .xcworkspace, который сохранял форму стручков, создавая свою собственную (где она прикрепляет свою библиотеку).

решение

Я переместил .xcworkspace, который я создал, снова запустил pod install, а затем вручную объединил свой .xcworkspace с одним созданным модулем, открыв обе рабочие области и перетащив файлы из одной рабочей области в другую.

person Jacksonkr    schedule 19.04.2017

Удаление папок кеша CocoaPods ~ / Library / Caches / CocoaPods и модуля установки работает для меня.

person kaushal    schedule 21.12.2017

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

person sajjeel    schedule 05.07.2015