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

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

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

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

PODS ROOT в настройках сборки:

${SRCROOT}/Pods

Я не создавал этот проект Xcode - просто вытащил его из git, чтобы проверить его.

Ответ 1

Если проекту использовать CocoaPods, следует всегда открывать файл .xcworkspace вместо файла .xcodeproj.

Ответ 2

Была и эта проблема. Что-то не так с моей установкой CocoaPods. Никакие стручки, кроме KIF, не устанавливались должным образом. Я следил за комментариями этой темы, чтобы помочь.

В принципе, мне нужно было убедиться, что параметры Build Active Architectures Only для моего проекта и проекта Pods равны.

Ответ 3

После нескольких часов исследований это решение сработало для меня:

(отказ от ответственности: результаты могут меняться в зависимости от обстоятельств)

ошибка Library not found -lPods-(someCocoapod) вызвана несколькими записями в:

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'

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

Слишком много часов потеряно...

My Fix:

удалите строки -lPods- (someCocoaPod) в списке "Другие флаги компоновщика" НО, только если $(унаследовано) находится вверху. Сначала я был не уверен, но убедительным признаком было то, что я все еще видел ссылки на мои коко-каподы, когда покидал режим редактирования (унаследовал). Я тестировал в debug и release, оба из которых давали мне ошибки, и проблема была немедленно решена.

Ответ 4

Кажется, проект использует cocoapods. и что файлы отсутствуют в вашем проекте.

Вы не можете просто загрузить его из git. Вам нужно установить его из cocoapods.

для получения дополнительной помощи, вы можете следовать Введение в учебное пособие по CocoaPods

Если в проекте используется CocoaPods, чтобы всегда открывать файл .xcworkspace вместо файла .xcodeproj

Ответ 5

Если у вас есть несколько целей в вашем проекте, Cocoapods, возможно, только хорошо интегрировались с одним из них.

Мне пришлось вручную ссылаться на libPods.a в "Link Binary With Libraries" для каждой дополнительной цели, которую я имел.

libPods.a in my list of frameworks

Ответ 6

Моя проблема была исправлена ​​с помощью следующей конфигурации:

Build Active Architecture Only: YES

Ответ 7

Ни один из вышеперечисленных ответов не исправил это для меня.

Вместо этого я выполнил pod install с командой pod вне раздела target. Так, например:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

Я быстро его исправил и вернул ошибочный блок обратно в раздел target, где он принадлежал, и снова запустил pod install:

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

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

Итак, решение заключалось в том, чтобы перейти в мои настройки Target General и перейти к Linked Frameworks и Libraries и просто удалить -libPods.a из списка.

Ответ 8

Если кто-то пришел сюда, чтобы устранить ошибку с react-native-fbsdk после ее установки с помощью Cocoapods, имейте в виду, что вам нужно удалить все другие .a файлы на этапах и только держите .a от cocoapods, называемых libPods-WhateverAppName.a.

Осталось только это

Обычно это вызвано запуском rnpm link и работает rnpm.

После того, как я удалил основной файл facebook.a из моих фаз сборки, мой проект снова запущен.

Ответ 9

Мои шаги:

  • Удалите папку pods и файл Pods.
  • Введите "pod install" в Terminal.
  • Введите "pod update" в Terminal.

В дополнение к тому, чтобы убедиться, что для "Build Active Architectures" установлено значение YES, как указано в предыдущих ответах, это было сделано для меня.

Ответ 10

Была такая же проблема после обновления Deployment target от 7.0 до 8.0 и включения use_frameworks!

cocoapods не удалял ранее сгенерированные файлы PodName.a из раздела Frameworks моего проекта.

Поэтому мне пришлось удалить их вручную, потому что они вызвали linker error

Ответ 11

Удалите все соответствующие файлы/папки импортированного источника cocoapods, кроме podfile.

install cocoapod снова. Это должно очистить любое избыточное напряжение от исходного источника.

Ответ 12

Для меня следующее работало.

  • Перейдите в раздел "Цель проекта → Настройки сборки → Предварительная обработка → Макросы препроцессора". Установите "COCOAPODS = 1" во всех Debug, Integration, Release в разделе "Макросы препроцессора"
  • Добавьте в "Другие флаги компоновщика" в разделе "Цель проекта" следующее:
    • $наследуется
    • -ObjC
    • -lС++
    • -all_load

Очистите и запустите проект. Если все же ошибка получена, попробуйте установить "Цель проекта → Параметры сборки → Только сборка активных архитектур", установите "Отладка" на "ДА" и установите "Интеграция и выпуск" на "Нет". Затем Повторите ту же настройку "Только для создания активных архитектур" для всех "Целей Pods"

Очистите и запустите проект. Если вы получили следующую ошибку:

 No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).

Затем попробуйте ответить г-ну Майку в этой ссылке

Xcode 5.1 - Нет архитектур для компиляции for (ONLY_ACTIVE_ARCH = YES, active arch = x86_64, VALID_ARCHS = i386)

Надеюсь, что это поможет!

Ответ 13

Когда вы клонируете проект из того места, где используются Cocoapods, вам необходимо установить их в свой проект.

Здесь, шаг за шагом, что вам нужно сделать:

  • 1) клонировать исходный код на локальный компьютер;
  • 2) закройте проект xcode (если открыт);
  • 3) установите приложение cocoapods на вашем mac, выполнив эту команду в терминале: " gem install cocoapods", добавьте " sudo" в начале, если это не сработало;
  • 4) перейдите в корень вашего проекта xcode, используя команду cd "в терминале;
  • 5) у вас должен быть подфайл в этой папке; если вы хотите проверить его дважды: команда cat Podfile "отобразит содержимое этого файла с библиотеками, которые должны быть установлены в вашем проекте;
  • 6), затем используйте команду pod install "для загрузки и установки библиотек в ваш проект; будет создан Podfile.lock и {имя вашего проекта}.xcworkspace;
  • 7) отныне вы должны использовать {Имя вашего проекта}.xcworkspace, чтобы открыть его в xcode;

Удачи!

Ответ 14

В проекте с несколькими целями у меня была такая же проблема после изменения имени Scheme и App и пыталась обновить модули. Эта проблема была вызвана несколькими записями в Build Phases → Link Binary с библиотеками, в которых были указаны как предыдущая .a библиотека, так и текущая, а предыдущая уже не существовала. Извлечение библиотеки оттуда устранило проблему.

Ответ 15

Мой путь

  • создать новый проект и установить pod, он будет работать без ошибок.

  • Скопируйте текст в "Другие флаги компоновщика" в новый проект для старого проекта. Сделайте старый проект тем же самым новым проектом.

  • Также проверьте "Пути поиска заголовков".

Ответ 16

Для меня это сработало. Я изменил имя своего приложения с someApp на otherApp. И я использую cocoa pods для интеграции нескольких сторонних служб. Поэтому из-за этого добавлено 2 файла libPod (поскольку я изменил имя и цель приложения). Наконец, мне пришлось удалить один libPod. И это сработало.

target- > Сборка фаз- > Ссылка на двоичные файлы с библиотеками

Ответ 17

Решение ниже работало для меня для версии 2.3 основного сюжета. Сделайте следующие изменения в разделе других флагов компоновщика.

1.Add $(унаследовано) и перетащите этот элемент в верхнее положение 2. Удалите префикс "Pods-" из -l "Pods-fmemopen", l "Pods-NSAttributedStringMarkdownParser" и -l "Pods-MagicalRecord".

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

Ответ 18

Я получил ту же ошибку.

Проблема. Я создал отдельную Рабочую область и добавил в нее мой существующий проект. Я получил ошибку, когда работал над этой рабочей областью.

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

Ответ 19

У меня была та же проблема

pod install и pod update в командной строке разрешают мою проблему

Ответ 20

Это была моя проблема, пытаясь интегрировать Firebase в мой проект Xcode, используя cocoapods

library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)

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

  • Перейдите в Build Settings, найдите Other Linker Flags, удалите все значения $(inherited) Изображение

Сделайте это для всех целей.

  1. Удалить папку с папками. (ios/Pods)
  2. Do pod update

Voila! Все ошибки компоновщика исчезнут.

Ответ 21

Если в проекте используются CocoaPods, следует всегда открывать файл .xcworkspace вместо файла .xcodeproj. если вы используете .xcworkspace, переустановите файл pod, удалив pods, и снова вставьте pods и установите его !!! это сработало для меня

Ответ 22

Выберите свою цель, перейдите к "Build Phases" в "Link Binary With Libraries" ".a" файлы "Link Binary With Libraries" удалите ".a" файл этой библиотеки. Очистить и построить.

Ответ 23

Эта проблема, связанная с lPods, может быть исправлена с помощью следующих шагов

  • Выберите цель проекта.
  • Перейдите к "Build Phases" в "Link Binary With Libraries".
  • Теперь удалите ".a" файл той библиотеки, которая создает проблему.
  • Очистить и построить.

Это будет работать