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.0에 8.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.