Xcode-ld : -lPod에 대한 라이브러리를 찾을 수 없습니다


185

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에서 가져 와서 확인하십시오.

답변:


601

프로젝트에서 CocoaPod를 사용하는 경우 .xcworkspace파일 대신 항상 파일을 열어야 .xcodeproj합니다.


2
또한 일반적인 Xcode 대상이 아닌 포드 대상을 작성하는 것이 도움이되었습니다.
돈 시몬

1
열면 프로젝트를 전혀 실행할 수 없습니다. 어떻게해야합니까?
이누야사

에 대한 참조 Pods는에 .xcodeproj있지만 그렇지 않은 것으로 나타 났으 .xcworkspace므로이 솔루션이 작동하는 이유는 무엇입니까?
Jacksonkr

1
Cd를 프로젝트 폴더에 넣고 "pod update"를 실행하십시오. 포드가없는 경우 설치 방법을 검색하십시오.
justinkoh

2
.xcworkspace를 열 때 오류 메시지가 나타납니다 (더 구체적으로 말하면 Mac에서는 한 번 작동했지만 다른 것은 작동하지 않았습니다). 필자의 경우 프로젝트 이름을 바꾸고 나중에 다른 컴퓨터에 복사하는 것과 관련된 문제를 발견 했지만 라이브러리가 새 위치로 복사되지 않았습니다. 비교 : /Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[OLDPROJECTNAME]-[LONGRNDCHARS]/Build/Products에 :/Users/[USERNAME]/Library/Developer/Xcode/DerivedData/[NEWPROJECTNAME]-[LONGRNDCHARS]/Build/Products
Yatko

97

이 문제도있었습니다. CocoaPods 설치에 문제가 있습니다. KIF 이외의 포드가 제대로 설치되지 않았습니다. 이 스레드 에 대한 의견을 따라 도움을 받았습니다.

기본적으로 Build Active Architectures Only프로젝트와 포드 프로젝트의 설정이 동일해야합니다.


7
내 프로젝트의 목표와 포드의 목표 사이에도 같은지 확인해야했습니다.
Nimrod Shai

이것은 6 개월마다 한 번씩 발생하며 지난번에 어떻게 해결했는지 기억할 수 없습니다 ... Active Architecture 만 빌드. . . 우리 모두가 기억
하길

51

몇 시간의 연구 끝에이 솔루션은 저에게 효과적이었습니다.

(면책 조항 : 상황에 따라 결과가 다를 수 있습니다)

Library not found -lPods-(someCocoapod)오류 인해 여러 항목을했다 :

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

다른 게시물이 많이 보였고 항목을 엉망으로 만들 때 오류가 변경되는 것을 볼 수 있었지만 동일한 오류에서 약간의 변형이 계속 발생했습니다.

너무 많은 시간을 잃었습니다 ...

내 수정 :

'기타 링커 플래그'목록에 -lPods- (someCocoaPod) 줄을 제거 하지만 단지 $ 경우 (상속)은 상단에 있습니다. 처음에는 확신이 없었지만, 안심할 수있는 신호는 편집 모드 (상 속됨)를 떠났을 때 여전히 코코아 포드에 대한 참조를 보았습니다. 디버그 및 릴리스에서 테스트했는데 둘 다 오류가 발생하여 문제가 즉시 해결되었습니다.


고마워요 El Capitan에서 Swift 2.0으로 업데이트 할 때만이 문제가 발생했습니다. 전에 완벽하게 작동했습니다.
Ovi

나는 $ (상 속됨) 만 가지고 있으며 동시에이 좌절하는 속임수를 가지고 있습니다. $ (상속 된) 변수의 원래 값을 어디에서 편집 할 수 있습니까?
nickolay

당신은 내 하루 남자를 저장 .... 동안이 문제에 갇혀 ... 전체 포드 프로젝트를 제거하고 다시 추가했기 때문에 발생했습니다
Mihir Mehta

나에게도 고쳤다. 내 스스로 이것을 알아 채지 못했을 것입니다!
bmueller

당신은 이겼다! 매력처럼 작동
Rob Sanders

31

프로젝트가 cocoapods를 사용하고있는 것 같습니다 . 해당 파일이 프로젝트에서 누락되었습니다.

git에서 다운로드 할 수는 없습니다. cocoapods에서 설치해야합니다.

도움이 더 필요 하면 CocoaPods 자습서 소개를 참조하십시오.

프로젝트가 파일 대신 CocoaPods항상 .xcworkspace파일을 여는 것을 인식 하는 .xcodeproj경우


1
@RahulPatel 특정 파일을 설치하는 방법 당신은 명령을 공유 할 수 있습니다
Ashok Londhe

새 베타 버전을 사용하려면 다음을 사용할 수 있습니다.pod 'GoogleAds-IMA-iOS-SDK-For-AdMob', '3.0.beta.16'
Berendschot

27

프로젝트에 여러 개의 대상이있는 경우 Cocoapods는 그 중 하나만 잘 통합되었을 수 있습니다.

내가 가진 libPods.a각각의 추가 대상에 대해 "바이너리와 바이너리 링크"에서 수동으로 링크해야 했습니다.

내 프레임 워크 목록에있는 libPods.a


나는 포드 설치가 모든 대상에 libPods.a 파일이 통합되어 있지 않다고 생각합니다. Rizwan은 내가 추가하지 않았고 작동합니다 ... 감사합니다 Rizwan Sattar
Wagh

빨간색으로 표시되지 않았지만 이것은 나를 위해 일했습니다. 나중에 포드 설치를 실행했는데 추가하지 않았지만 모든 것이 작동하는 것 같습니다.
Jules

2
실제로, 내가해야 할 일은 오래된 (my-project-name). 라이브러리를 제거하는 것입니다. 문제의 위치에 대한 아이디어를 제공했기 때문에 귀하의 답변을 평가했습니다.
kalafun

당신은 생명의 은인입니다!
율리 위

24

내 문제는 다음 구성으로 해결되었습니다.

Build Active Architecture Only: YES

SDWebImage에 문제가 생겼을 때 저에게 효과적이었습니다. ... Cocoapod 구성 요소에 대한 길을 찾은 사람들을 위해 여기에 있습니다
Scott D

이것은 나를 위해 그 문제를 해결하지만 다른 원인이됩니다. 활성 아키텍처뿐만 아니라 모든 아키텍처를 위해 구축해야합니다.
HotFudge

오래된 코드에서는 포드를 통합하고 있습니다. 나는 같은 문제에 직면하고있다. 위의 답변이 도움이되었습니다.
Shashank Kulshrestha

15

react-native-fbsdk사용하여 설치 한 후 오류를 해결하기 위해 여기에 온 사람이 있다면 Cocoapods프로젝트 빌드 단계 에서 다른 .a 파일을 모두 제거 하고 .a 만 cocoapods에서 유지해야합니다 libPods-WhateverAppName.a.

여기에만 남아

이것은 일반적으로 실행으로 인해 발생합니다 rnpm link 으로 rnpm이 작동하는 방식과 합니다.

빌드 단계에서 페이스 북 코어 .a 파일을 제거한 후 프로젝트가 다시 시작되었습니다.


11

lPod와 관련된이 문제는 다음 단계에 따라 해결할 수 있습니다.

  • 프로젝트 대상을 선택하십시오.
  • 이동 "Build Phases"에서 "Link Binary With Libraries".
  • 이제 ".a"문제를 일으키는 해당 라이브러리의 파일을 제거 하십시오.
  • 청소하고 건설하십시오.

작동합니다.


내 경우 제거 libstdc++.6.dylib하면 문제가 해결되었습니다!
Igor de Lorenzi

"-lstdc ++. 6"을 제거해야하므로 "libstdc ++. 6.dylib"를 제거하는 방법과 위치 "-lstdc ++. 6 라이브러리를 찾을 수 없습니다"
Hari Narayanan

10

위의 답변 중 어느 것도 나를 위해 고치지 않았습니다.

내가 대신 한 것은 섹션 외부의 명령 으로 실행 pod install되었습니다 . 예를 들어 :podtarget

#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 and Libraries 로 이동 -libPods.a하여 목록에서 삭제 하는 것입니다.


프로젝트에 cocoapod를 올바르게 설치했지만 OP와 동일한 오류가 발생했습니다. -libPods.a를 삭제하면 해결되었습니다. 친절하게 감사합니다
NKorotkov

나는 오래된 프로젝트를 업데이트하고, 오래된 포드 파일을 폐기하고 pod init새로운 것을 설정하기 위해 달려 갔고 , 오래된 파일은 당신의 # WRONG방식 과 같았고 새로운 파일은 같다는 것을 발견했다 # CORRECT. 감사합니다!
BJ Miller

8

내 단계 :

  1. 포드 폴더와 '팟'파일을 삭제하십시오.
  2. 터미널에 "pod install"을 입력하십시오.
  3. 터미널에 "pod update"를 입력하십시오.

이전 답변에서 언급했듯이 "Build Active Architectures"가 YES로 설정되어있을뿐만 아니라, 이것이 나를 위해 한 것입니다.


+1 제 경우에는 -lHelpshift특정 이름 또는 포드의 이름입니다. 그런 다음 특정 폴더 만 제거하면됩니다 Pods/Helpshift. 그런 다음 pod install다시 수행 하십시오. 업데이트 할 필요가 없습니다. 지금 작동합니다.
haxpor

1
모든 포드를 삭제 한 다음 다시 설치하면 도움이됩니다.
Sanad Liaquat

7

업그레이드 후 같은 문제가 있었다 Deployment target에서 7.08.0와 가능use_frameworks!

cocoapods이전에 생성 된 PodName.a파일을 삭제하지 않았습니다Frameworks내 프로젝트 섹션 .

그래서 수동으로 삭제해야했습니다. linker error


4

podfile을 제외한 가져온 cocoapod 소스의 해당 파일 / 폴더를 모두 삭제하십시오.

install cocoapod 이렇게하면 원래 소스에서 여분의 풀을 제거해야합니다.


3

Cocoapod를 사용하는 곳에서 프로젝트를 복제 할 때 프로젝트에 설치해야합니다.

다음은 단계별로 수행해야 할 작업입니다.

  • 1) 소스 코드를 로컬 머신에 복제합니다.
  • 2) xcode 프로젝트를 닫습니다 (열린 경우).
  • 3) 터미널에서 다음 명령을 실행하여 macapocods 응용 프로그램을 설치하십시오 : " gem install cocoapods ", 추가 " sudo 작동하지 않으면 처음에 "를 .
  • 4) 터미널에서 " cd "명령을 사용하여 xcode 프로젝트의 루트로 이동하십시오 .
  • 5)이 폴더에 Podfile이 있어야합니다. " cat Podfile "명령을 사용하여 다시 확인하려면 프로젝트에 설치해야하는 라이브러리와 함께이 파일의 내용을 표시합니다.
  • 6) 그런 다음 " pod install "명령을 사용하여 라이브러리를 다운로드하여 프로젝트에 설치하십시오. Podfile.lock가 생성됩니다 {프로젝트 이름} .xcworkspace의 파일;
  • 7) 이제부터는 {프로젝트 이름} .xcworkspace 를 사용하여 xcode에서 열어야합니다.

행운을 빕니다!


3

cocoapods를 사용하여 Firebase 를 Xcode 프로젝트 에 통합하려고 시도하는 동안 이것은 내 문제 였습니다.

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

stackoverflow에 나열된 다양한 수정 프로그램을 검색하고 시도한 후 마침내 다음 단계를 수행하여 문제가 해결되었습니다.

  1. 으로 이동하여 Build Settings검색하고 Other Linker Flags예상되는 모든 값을 제거하십시오.$(inherited) 영상

모든 대상에 대해이 작업을 수행하십시오.

  1. 포드 폴더를 삭제하십시오. (ios/Pods )
  2. 하다 pod update

짜잔! 모든 링커 오류가 사라집니다.


이것은 나에게도 필요했습니다. 그러나 제 경우에는 Firebase Analytics가 추가 된 반응 형 네이티브 앱이었습니다. 2018 년 7 월 현재 모든 앱은 Apple 당 iOS 11을 사용하여 빌드해야합니다. developer.apple.com/ios/submit/ 일반 탭으로 이동 한 후 배포 정보 / 배포 대상으로 스크롤하여 10.x에서 변경했습니다. 내가 목표로하고있는 것은 11.x입니다-앱이 빌드 / 보관되었으며 제출할 수있었습니다.
bo_

2

나를 위해 다음이 효과가있었습니다.

  1. "프로젝트 대상-> 빌드 설정-> 전처리-> 전 처리기 매크로"로 이동하십시오. "전 처리기 매크로"의 모든 디버그, 통합, 릴리스에서 "COCOAPODS = 1"로 설정
  2. "프로젝트 대상"의 "기타 링커 플래그"에 다음을 추가하십시오.
    1. 상속 된 $
    2. -ObjC
    3. -lc ++
    4. -all_load

프로젝트를 정리하고 실행하십시오. 여전히 오류가 동일한 경우 "프로젝트 대상-> 빌드 설정-> 활성 아키텍처 만 빌드"를 설정하여 "디버그"를 "예"로 설정하고 "통합 및 릴리스"를 "아니오"로 설정하십시오. 그런 다음 모든 "Pods Targets"에 대해 "Build Active Architectures Only"의 동일한 설정을 반복하십시오.

프로젝트를 정리하고 실행하십시오. 다음과 같은 오류가 발생하면

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

그런 다음이 링크에서 Mike 씨의 답변을보십시오.

Xcode 5.1-컴파일 할 아키텍처가 없습니다 (ONLY_ACTIVE_ARCH = YES, 활성 아치 = x86_64, VALID_ARCHS = i386)

그것이 도움이되기를 바랍니다!


2

여러 대상이있는 프로젝트에서 Scheme 및 App 이름을 변경 한 후 동일한 문제가 발생하고 포드를 업데이트하려고했습니다. 이 문제는 빌드 단계-> 라이브러리와 바이너리 라이브러리 연결의 여러 항목으로 인해 이전 .a 라이브러리와 현재 라이브러리가 모두 나열되었지만 이전 라이브러리는 더 이상 존재하지 않기 때문에 발생했습니다. 라이브러리를 제거하면 문제가 해결되었습니다.


1

내 길

  1. 새 프로젝트를 만들고 포드를 설치하면 오류없이 실행될 수 있습니다.

  2. 새 프로젝트의 "기타 링커 플래그"에있는 텍스트를 이전 프로젝트로 복사하십시오. 오래된 프로젝트를 새로운 프로젝트로 만듭니다.

  3. "헤더 검색 경로"도 확인하십시오.


1

나를 위해 이것은 효과가 있습니다. 내 앱 이름을 someApp에서 otherApp로 변경했습니다. 그리고 여러 타사 서비스 통합을 위해 코코아 포드를 사용하고 있습니다. 그래서 그 2 개의 libPod 파일이 추가되었습니다 (앱의 이름과 대상을 변경 했으므로). 마지막으로 하나의 libPod를 제거해야했습니다. 그리고 효과가있었습니다.

target-> 빌드 단계-> 바이너리를 라이브러리와 연결


1

같은 오류가 발생했습니다.

문제 : 별도의 작업 영역을 만들고 기존 프로젝트를 추가했습니다. 해당 작업 공간에서 작업 할 때 오류가 발생했습니다.

수정 : 나중에 종속성이 추가되면 기존 프로젝트 내에서 작업 영역이 자동으로 생성된다는 것을 알았습니다. 그리고 그 작업 공간에서 작업해야합니다.


이 답변에는 요청 된 질문을 해결하는 방법이 명확하지 않습니다
Mark

1

아래 솔루션은 코어 플롯 2.3 버전에서 효과적이었습니다. 다른 링커 플래그 섹션에서 아래 변경을 수행하십시오.

1. $ (상 속됨)을 추가하고이 항목을 최상위 위치로 끕니다. 2. -l "Pods-fmemopen", l "Pods-NSAttributedStringMarkdownParser"및 -l "Pods-MagicalRecord"에서 "Pods-"접두사를 제거합니다.

여전히 문제가 지속되면 마지막으로 PODS_ROOT가 설정되어 있는지 확인하십시오. 사용자 정의 섹션에서 확인할 수 있습니다.


1

나는 같은 문제가 있었다

커맨드 라인에서 포드 설치 및 포드 업데이트로 문제 해결


1

프로젝트에서 CocoaPod를 사용하는 경우 항상 .xcodeproj 파일 대신 .xcworkspace 파일을 열어야합니다. .xcworkspace를 사용하는 경우 포드를 제거하여 포드 파일을 다시 설치하고 포드를 다시 삽입 한 후 설치하십시오 !!! 이것은 나를 위해 일했다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.