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

<p>я получил ошибку при архивировании проекта. это моя среда.</p><ul> <li>mac os lion</li> <li>xcode 4.3.1</li> <li>ios sdk 5.1</li> </ul><p>цель развертывания проекта:</p><pre><code>iphoneos\_deployment\_target 3.2 </code></pre><p>ошибка показывает:</p><pre><code>ld: library not found for -lpods clang: error: linker command failed with exit code 1 (use -v to see invocation) </code></pre><p>я предполагаю, что pods - это cocoapods, которые я использовал для управления зависимостями проекта xcode . <a href="https://github.com/cocoapods/cocoapods">https://github.com/cocoapods/cocoapods</a> </p><p>это мой подфайл </p><pre><code>platform :ios dependency 'libpusher', '1.1' </code></pre><p>я не уверен, что означает ошибка?</p>

<p>вы открываете рабочую область (которая была сгенерирована cocoapods) вместо xcodeproj?</p>

<p>я поделил приложение и цели теста в podfile, используя</p><pre><code>target :app do … end target :apptests do … end </code></pre><p>это привело к появлению двух новых продуктов <em>libpods-app.a</em> и <em>libpods-apptests.a</em>, соответственно, и они сделали предыдущий продукт <em>libpods.a</em> устаревшим. мне пришлось удалить этот продукт из раздела<strong> link binary with libraries </strong>of<strong> build phase </strong>конфигурации обеих целей. </p>

<p>я столкнулся с подобной проблемой сегодня.</p><ol> <li>я настраиваю новый проект</li> <li>я установил какао</li> <li>я создал новую конфигурацию <code>preview</code> вместе с существующими <code>debug</code> и <code>release</code></li> <li><p>теперь при компиляции этой новой конфигурации <code>preview</code> компилятор не сможет связываться с модулями и выдает мне следующее сообщение:</p> <pre><code>ld: library not found for -lpods </code></pre></li> </ol><h2>решение:</h2><p>я должен был бежать</p><pre><code> pod install </code></pre><p>снова и таким образом настраиваем cocoapods для новой конфигурации <code>preview</code>. он обновил мой проект, рабочее пространство и файл проекта pod, и проблема исчезла</p>

<p>убедитесь, что вы открываете <code>.xcworkspace</code>, а не <code>.xcodeproj</code></p>

<p>у меня не сработало решение, это действительно невыносимо, есть файл <code>libpods.a</code> (красного цвета), я удалил его и все работает нормально! ура мне;)</p>

<p>я разделил свои списки pod в <code>podfile</code> для различных целей, таких как:</p><pre><code>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 </code></pre><p>и запустил <code>pod install</code></p><p>это создало новую библиотеку <code>libpods-abc.a</code>, на которую мой бинарный файл должен был ссылаться. но ошибка заключалась в том, что она не удаляла предыдущую библиотеку, т.е. <code>libpods.a</code>.</p><p>решение. удалите библиотеку <code>libpods.a</code> из <code>build phases</code> из <code>link binary with libraries</code>.</p>

<p>если у вас возникли проблемы с этим на cocoapods v25/xcode 5 </p><p>проект pods xcode теперь устанавливает для параметра сборки only\_active\_arch значение yes в конфигурации отладки. вы должны будете установить то же самое в вашем проекте/цели, иначе сборка не удастся.</p><p> <a href="https://github.com/cocoapods/cocoapods/wiki/faq#running-into-build-failures-after-migrating-to-xcode-5-and-cocoapods-0250">https://github.com/cocoapods/cocoapods/wiki/faq#running-into-build-failures-after-migrating-to-xcode-5-and-cocoapods-0250</a> </p><p>обновление убедитесь, что у вас есть последние драгоценные камни/cocoapods</p><ul> <li>система обновления драгоценных камней </li> <li>обновление драгоценного камня cocoapods</li> </ul><p>вы захотите пересобрать проект, используя pod install, чтобы пересобрать проект.</p>

<p>у меня был указан старый файл libpod.a (возможно, из-за меня меняющихся целей).</p><p><strong> настройки проекта </strong>-><strong> этапы сборки </strong>-><strong> связать двоичные файлы с библиотеками </strong></p><p>как правило, cocoapods включает только одну библиотеку, такую как <code>libpods-target.a</code> или <code>libpods.a</code>. я решил это, удалив дубликат.</p>

<p>если xcode жалуется при ссылке, например, библиотека не найдена для -lpods, она не обнаруживает неявные зависимости.</p><p>перейдите в product> edit scheme нажмите build добавьте статическую библиотеку pods и убедитесь, что она находится вверху списка очистите и соберите снова если это не сработает, убедитесь, что источник спецификации, которую вы пытаетесь включить, был извлечен из github. сделайте это, посмотрев в/pods /. если он пуст (не должен быть), убедитесь, что в ~/.cocoapods/master //. podspec указан правильный url-адрес git-концентратора . если он по-прежнему не работает, проверьте настройки местоположения сборки xcode. перейдите в «настройки» -> «местоположения» -> «производные данные» -> «дополнительно» и установите расположение сборки в «относительно рабочей области».</p><p> <a href="http://docs.cocoapods.org/guides/getting\_started.html">http://docs.cocoapods.org/guides/getting\_started.html</a> </p>

<p>у меня была такая же проблема, когда я редактировал podfile, добавляя цель, которую я использовал без цели ранее.</p><h1>podfile</h1><pre><code>target 'xxxx' do pod 'xyz' pod 'abc' end </code></pre><p>после недолгих размышлений я обнаружил, что в целевых свойствах >> вкладка «общие» >> раздел «связанные фреймворки и библиотеки» появились новый libpods-xxxx.a и старый libpods.a</p><p>я только что удалил libpods.a и все работало нормально. </p>

<p>вики cocoapods на github имеет <a href="http://guides.cocoapods.org/using/troubleshooting.html">ответ прямо в faq</a> :</p><ul> <li>перейти к <code>product > edit scheme</code></li> <li>нажмите на <code>build</code></li> <li>добавьте статическую библиотеку pods и убедитесь, что она находится вверху списка</li> <li>очистить и построить снова</li> <li>если это не сработает, убедитесь, что источник спецификации, которую вы пытаетесь включить, был извлечен из github. сделайте это, посмотрев в <code><project dir>/pods/<name of spec you are trying to include></code>. если оно пустое (не должно быть), убедитесь, что в <code>~/.cocoapods/master/<spec>/<spec>.podspec</code> указан правильный url-адрес github.</li> <li>если по-прежнему не работает, проверьте настройки местоположения сборки xcode. перейдите к <code>preferences -> locations -> derived data -> advanced</code> и установите расположение сборки на «относительно рабочей области».</li> </ul><p><img src="https://i.stack.imgur.com/htnfh.png" alt="screen shot"></p>

<p>я переименовывал проект в «nbselector» из «партнеров».</p><p>после переименования проекта произошла ошибка «библиотека не найдена для libpods-partners». xcode пытался связать старый файл partners.a. просто удалите его, если у вас есть podinstalled после переименования.</p><p><img src="https://i.stack.imgur.com/cgynu.png" alt="enter image description here"></p>

<p>использование only\_active\_arch = no во всех модулях решило проблему для меня. чтобы сделать это постоянным, я добавил хук post\_install к моему podfile:</p><pre><code>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 </code></pre><p><code>pod install</code> и все готово.</p>

<p>в моем случае проблема заключалась в том, что местоположение производных данных xcode было установлено в опцию «legacy». цель cocoapods (libpods.a) создавалась правильно, но xcode искал ее не в том месте.</p><p>переключение на «уникальный» (по умолчанию) решило проблему. вы можете сделать это, перейдя в «настройки»> «местоположения» и нажав кнопку «дополнительно ...».</p>

<p>создавали ли вы «распространение» или аналогичную конфигурацию для создания архивов ad-hoc и app store? как и многие другие, я следовал рекомендациям apple и назвал конфигурацию «release», назвал ее «distribution» и установил для нее различные правила подписи. ну, может быть, это была рекомендация, прежде чем они представили схемы и опцию «распределить» в организаторе, во всяком случае, у меня это было просто раньше.</p><p>тогда у меня была такая же проблема со стручками. все работало хорошо при отладке, но архивирование не удалось с ошибкой ссылки. после того, как я попробовал то и это, я изменил конфигурацию архива моего исходного проекта с «распространение» на «выпуск», и ошибка связи исчезла.</p><p>тем не менее, архив не показывался в организаторе, хотя я мог найти его в файловой системе, но он имел размер 0.</p><p>последним шагом для исправления всего этого было изменение настройки «пропустить установку» для конфигурации «освобождение» на «нет». обратите внимание, что вы должны сделать это только для вашего основного проекта, но не для проекта pods. лучше оставить проект pods как есть, так как он генерируется каждый раз, когда вы запускаете 'pod install'.</p><p><strong>update</strong> только что получил <a href="https://github.com/cocoapods/cocoapods/issues/265#issuecomment-5864951">ответ от разработчиков cocoapods</a> кажется, он не работает для меня, так как у меня правильно настроена конфигурация pods . но это может помочь кому-то еще.</p>

<p>только добавление «пути поиска в библиотеке» (в настройках сборки «myproject») в «pods/build/debug-iphonesimulator» работало для меня (при использовании симулятора).</p><p>получил это отсюда: <a href="https://github.com/cocoapods/cocoapods/issues/121#issuecomment-5452473">https://github.com/cocoapods/cocoapods/issues/121#issuecomment-5452473</a> </p>

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

<p>если вы архивируете для ios7 и xcode5 и получили эти ошибки, перейдите по этой ссылке. похоже, что apple отказывается от архитектуры, которая необходима для какао-бобов <a href="https://github.com/cocoapods/cocoapods/pull/1352">https://github.com/cocoapods/cocoapods/pull/1352</a> </p>

<p>я использовал старую версию cocoapod после обновления cocoapods, он предлагает мне обновить установленный модуль из-за серьезного обновления, так как я обновляюсь после долгого времени. я обновляю его, и новая версия pods была обновлена нормально. но после этого я получил ошибку, как <code>library not found for -lpods-xxxprojectname-xxxxxpodname</code></p><p>после того, как я попробовал так много решений, которые были даны в ответе, ни один из них не сработал для меня. затем я перешел к настройке своего проекта и обнаружил, что путь pods изменился, что было на <code>other linker flag</code></p><p><strong> проверьте свой <code>manage schemes</code> для правильного имени модуля и сравните его в <code>other linker flag</code>, измените его, если не похож </strong></p><p><strong> старый путь к модулю был <code>-l"lpods-xxxprojectname-xxxxxpodname"</code> </strong></p><p>но новые модули были только <code>xxxxxpodname</code>, поэтому я заменил <code>other linker flag</code> на новый, как показано ниже</p><p><strong> изменился на путь pod <code>-l"xxxxxpodname"</code>, и это работает. </strong></p><p>я не знаю идеальной причины этого, но, возможно, это поможет кому-то. </p>

<p>здесь я рассмотрел каждый ответ, но для меня это было безумно просто ... перейдите в target -> build phases, затем удалите libpods-yourproject.a, затем добавьте его снова, используя «+». не беспокойтесь о том, что библиотека красная, это нормально.</p>

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

<p>решил это, выполнив следующие шаги: </p><ul> <li>обновите установку cocoapods. ($ [sudo] gem install cocoapods) переустановите ваши зависимости под ваш проект. (установка под) очистить и перестроить/архив.  

если вы используете ios7 и xcode 5, выполните: выберите ваш проект стручков. перейдите к целевым блокам и в настройках сборки выберите архитектуры-> стандартные архитектуры (armv7, armv7s). сделайте то же самое для каждой цели вашего проекта стручков. 

пытаться link_with youtarget1, youtarget2 ...мой проект сработал, цели внезапно перестали компилироваться. затем добавил "link_with" и вернулся в нормальное состояние. видимо, теперь он просто подключается к первой цели, вот что говорит ссылка: <a href="http://guides.cocoapods.org/syntax/podfile.html#link_with">http://guides.cocoapods.org/syntax/podfile.html#link_with 

использование xcode 5 с ios 7это то, что я сделал после того, как застрял на час. удалите arm64 из настройки сборки> допустимая архитектура. добавлено: кроме того, для моего случая не было получено местоположение данных. я выбрал уникальное место для постройки. 

у меня такая же проблема при архивировании для отправки. обсуждение этой проблемы можно найти здесь: <a href="https://github.com/cocoapods/cocoapods/issues/155">https://github.com/cocoapods/cocoapods/issues/155 таким образом, у меня работают два метода: настройка «предпочтения -> местоположения -> дополнительно» на «пользовательский (относительно рабочей области)» или установите podfile в - platform :ios, :deployment_target => "5.0" 

я пытался каждый ответ в этой теме безрезультатно. наконец, я решил мою проблему, сопоставив «путь продуктов для предварительной конфигурации» в моем целевом проекте со значением в проекте «pods». оказывается, они строили в двух разных местах вывода. ни одно из других предложений в этой теме не было актуально для меня. было бы здорово, если бы xcode дал полезное описание ошибки (например, почему он не может использовать lib - файл не найден, не найдена соответствующая архитектура и т.д.).

в этом выпуске, если вы уже установили и обновили модуль в своей системе, тогда ваш xcode не может найти библиотеку pods. для решения этой проблемы, пожалуйста, проверьте следующие причины, которые могут иметь место: вы используете рабочее пространство. сборка библиотеки pods. библиотека pods упоминается в группе продуктов вашего проекта. ваша цель включает библиотеку pods в связи с фазой сборки фреймворков. 

если вы все еще получаете эту проблему, попробуйте:pod update сделал работу для меня, надеюсь, это поможет вам.

я открыл рабочее пространство, но получил ту же ошибку.<strong> создать только активную архитектуру </strong>установить в<strong>да</strong>решить мою проблему.

чтобы упростить ответ @ i4niac:другой распространенной причиной этого является несоответствие в конфигурации сборки схемы. в нашем случае наша схема appname-appstore имела «release» в качестве конфигурации сборки архива вместо «appstore» (может быть наоборот другие).

я решил эту проблему, установив архитектуры и действительные архитектуры, одинаковые для всех модулей и моего проекта. таким образом, решение проблемы в моем случае было: обновление какао-бобов: sudo gem обновление какао-бобов обновление стручки: обновление стручка в ваших модулях перейдите в «настройки сборки»> «архитектуры» и установите здесь «архитектуры» и «допустимые архитектуры» точно такие же значения, как в основном проекте. 

я была такая же проблема. в моем случае это была ошибка xcode. все, что мне нужно было сделать, это удалить «действительные арки», сделать чистку, заново добавить их, и я был в порядке. также попробуйте обновленные cocoapods в целом.

у меня это тоже было, cocoapods версия 0.28.0это легко исправить, не читая долго: - удалите cocoapods (командная строка или appcode) - удалите папку podfile, podfile.lock, pods переустановите cocoapods запустите вновь созданное рабочее пространство.  

я пропустил libpods.a в target, поэтому первое, что нужно сделать, это добавить его в<strong> связанные фреймворки и библиотеки </strong>. далее,<strong> product -> build for -> profiling </strong>(или перед добавлением libpods.a, если вы его полностью пропустили) и, наконец, проверьте ваши<strong> копировать ресурсы pods </strong>script в<strong> фазы сборки </strong>(если он совпадает с вашей второй целью - иногда это зависит от podfile и его целей). тогда вы должны построить успешно.

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

<p>я столкнулся с проблемой, когда я создал свой собственный <code>.xcworkspace</code>, который сохранял форму стручков, создавая свою собственную (где он присоединяет свою библиотеку). </p><h1>решение</h1><p>я переместил <code>.xcworkspace</code>, который я создал, снова запустил <code>pod install</code> и затем вручную слил свой <code>.xcworkspace</code> с одним<strong> pods </strong>, созданным открытием обеих рабочих областей и перетаскиванием файлов из одной рабочей области в другую.</p>

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

<p>удаление папок кэша cocoapods ~/library/caches/cocoapods и модуль установки работает для меня.</p>

<p>в моем случае номер 4 из faq по этой ссылке помог: <a href="https://github.com/cocoapods/cocoapods/wiki/creating-a-project-that-uses-cocoapods">https://github.com/cocoapods/cocoapods/wiki/creating-a-project-that-uses-cocoapods</a> </p><p>есть несколько дополнительных вещей, которые вы можете попробовать, если проблема не устранена.</p>