Ответ 1
Если проекту использовать CocoaPods, следует всегда открывать файл .xcworkspace
вместо файла .xcodeproj
.
Я получаю эти ошибки, когда пытаюсь создать приложение 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, чтобы проверить его.
Если проекту использовать CocoaPods, следует всегда открывать файл .xcworkspace
вместо файла .xcodeproj
.
Была и эта проблема. Что-то не так с моей установкой CocoaPods. Никакие стручки, кроме KIF, не устанавливались должным образом. Я следил за комментариями этой темы, чтобы помочь.
В принципе, мне нужно было убедиться, что параметры Build Active Architectures Only
для моего проекта и проекта Pods равны.
После нескольких часов исследований это решение сработало для меня:
(отказ от ответственности: результаты могут меняться в зависимости от обстоятельств)
ошибка Library not found -lPods-(someCocoapod)
вызвана несколькими записями в:
Settings(Target) > Build Settings > Linking > 'Other Linker Flags'
Множество других сообщений заставляло меня смотреть туда, и я видел изменения в ошибке, когда я возился с записями, но я продолжал получать некоторые вариации по одной и той же ошибке.
Слишком много часов потеряно...
удалите строки -lPods- (someCocoaPod) в списке "Другие флаги компоновщика" НО, только если $(унаследовано) находится вверху. Сначала я был не уверен, но убедительным признаком было то, что я все еще видел ссылки на мои коко-каподы, когда покидал режим редактирования (унаследовал). Я тестировал в debug и release, оба из которых давали мне ошибки, и проблема была немедленно решена.
Кажется, проект использует cocoapods. и что файлы отсутствуют в вашем проекте.
Вы не можете просто загрузить его из git. Вам нужно установить его из cocoapods.
для получения дополнительной помощи, вы можете следовать Введение в учебное пособие по CocoaPods
Если в проекте используется CocoaPods
, чтобы всегда открывать файл .xcworkspace
вместо файла .xcodeproj
Если у вас есть несколько целей в вашем проекте, Cocoapods, возможно, только хорошо интегрировались с одним из них.
Мне пришлось вручную ссылаться на libPods.a
в "Link Binary With Libraries" для каждой дополнительной цели, которую я имел.
Моя проблема была исправлена с помощью следующей конфигурации:
Build Active Architecture Only: YES
Ни один из вышеперечисленных ответов не исправил это для меня.
Вместо этого я выполнил 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
из списка.
Если кто-то пришел сюда, чтобы устранить ошибку с react-native-fbsdk
после ее установки с помощью Cocoapods
, имейте в виду, что вам нужно удалить все другие .a файлы на этапах и только держите .a от cocoapods, называемых libPods-WhateverAppName.a
.
Обычно это вызвано запуском rnpm link
и работает rnpm.
После того, как я удалил основной файл facebook.a из моих фаз сборки, мой проект снова запущен.
Мои шаги:
В дополнение к тому, чтобы убедиться, что для "Build Active Architectures" установлено значение YES, как указано в предыдущих ответах, это было сделано для меня.
Была такая же проблема после обновления Deployment target
от 7.0
до 8.0
и включения use_frameworks!
cocoapods
не удалял ранее сгенерированные файлы PodName.a
из раздела Frameworks
моего проекта.
Поэтому мне пришлось удалить их вручную, потому что они вызвали linker error
Удалите все соответствующие файлы/папки импортированного источника cocoapods, кроме podfile.
install cocoapod
снова. Это должно очистить любое избыточное напряжение от исходного источника.
Для меня следующее работало.
Очистите и запустите проект. Если все же ошибка получена, попробуйте установить "Цель проекта → Параметры сборки → Только сборка активных архитектур", установите "Отладка" на "ДА" и установите "Интеграция и выпуск" на "Нет". Затем Повторите ту же настройку "Только для создания активных архитектур" для всех "Целей Pods"
Очистите и запустите проект. Если вы получили следующую ошибку:
No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).
Затем попробуйте ответить г-ну Майку в этой ссылке
Надеюсь, что это поможет!
Когда вы клонируете проект из того места, где используются Cocoapods, вам необходимо установить их в свой проект.
Здесь, шаг за шагом, что вам нужно сделать:
Удачи!
В проекте с несколькими целями у меня была такая же проблема после изменения имени Scheme и App и пыталась обновить модули. Эта проблема была вызвана несколькими записями в Build Phases → Link Binary с библиотеками, в которых были указаны как предыдущая .a библиотека, так и текущая, а предыдущая уже не существовала. Извлечение библиотеки оттуда устранило проблему.
Мой путь
создать новый проект и установить pod, он будет работать без ошибок.
Скопируйте текст в "Другие флаги компоновщика" в новый проект для старого проекта. Сделайте старый проект тем же самым новым проектом.
Также проверьте "Пути поиска заголовков".
Для меня это сработало. Я изменил имя своего приложения с someApp на otherApp. И я использую cocoa pods для интеграции нескольких сторонних служб. Поэтому из-за этого добавлено 2 файла libPod (поскольку я изменил имя и цель приложения). Наконец, мне пришлось удалить один libPod. И это сработало.
target- > Сборка фаз- > Ссылка на двоичные файлы с библиотеками
Решение ниже работало для меня для версии 2.3 основного сюжета. Сделайте следующие изменения в разделе других флагов компоновщика.
1.Add $(унаследовано) и перетащите этот элемент в верхнее положение 2. Удалите префикс "Pods-" из -l "Pods-fmemopen", l "Pods-NSAttributedStringMarkdownParser" и -l "Pods-MagicalRecord".
если проблема все еще сохраняется, Наконец, посмотрите, установлен ли PODS_ROOT или нет. Вы можете проверить его в разделе, определяемом пользователем.
Я получил ту же ошибку.
Проблема. Я создал отдельную Рабочую область и добавил в нее мой существующий проект. Я получил ошибку, когда работал над этой рабочей областью.
Исправить. Позже я обнаружил, что Workspace создается автоматически внутри существующего проекта при добавлении зависимостей. И нужно работать в этом рабочем пространстве.
У меня была та же проблема
pod install и pod update в командной строке разрешают мою проблему
Это была моя проблема, пытаясь интегрировать Firebase в мой проект Xcode, используя cocoapods
library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)
После нескольких часов поиска и тестирования различных исправлений, перечисленных в stackoverflow, моя проблема была окончательно исправлена, выполнив следующие шаги.
Сделайте это для всех целей.
ios/Pods
)pod update
Voila! Все ошибки компоновщика исчезнут.
Если в проекте используются CocoaPods, следует всегда открывать файл .xcworkspace вместо файла .xcodeproj. если вы используете .xcworkspace, переустановите файл pod, удалив pods, и снова вставьте pods и установите его !!! это сработало для меня
Выберите свою цель, перейдите к "Build Phases"
в "Link Binary With Libraries"
".a"
файлы "Link Binary With Libraries"
удалите ".a"
файл этой библиотеки. Очистить и построить.
Эта проблема, связанная с lPods, может быть исправлена с помощью следующих шагов
"Build Phases"
в "Link Binary With Libraries"
.".a"
файл той библиотеки, которая создает проблему.Это будет работать