[iphone] -lPods에 대한 라이브러리를 찾을 수 없습니다

프로젝트를 보관할 때 오류가 발생했습니다. 이것은 내 환경입니다.

  • 맥 OS 라이온
  • Xcode 4.3.1
  • iOS SDK 5.1

프로젝트 배포 대상은 다음과 같습니다.

IPHONEOS_DEPLOYMENT_TARGET 3.2

오류는 다음을 보여줍니다.

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

Pods는 XCode 프로젝트 종속성을 관리하는 데 사용한 CocoaPod라고 생각합니다.
https://github.com/CocoaPods/CocoaPods

이것은 내 Podfile입니다

platform :ios  
dependency 'libPusher', '1.1'

오류의 의미가 확실하지 않습니까?



답변

xcodeproj 대신 작업 공간 (CocoaPods에서 생성 한)을 열었습니까?


답변

Podfile에서 앱과 테스트 대상을 사용하여 분리했습니다.

target :App do
    
end

target :AppTests do
    
end

이로 인해 두 개의 새로운 제품 libPods-App.alibPods-AppTests.a 가 각각 생성 되었으며 이전 제품인 libPods.a는 더 이상 사용되지 않습니다. 두 대상 의 빌드 단계 구성의 라이브러리와 바이너리 링크 섹션 에서이 제품을 제거해야했습니다 .


답변

나는 오늘 비슷한 문제에 부딪쳤다.

  1. 새 프로젝트를 설정했습니다
  2. 코코아 포드를 설치했습니다
  3. 나는 새로운 구성을 만들어 Preview기존과 함께 Debug하고Release
  4. 이제이 새로운 Preview구성을 컴파일 할 때 컴파일러는 포드와 연결할 수없고 다음 메시지를 표시 할 수 없습니다.

    ld: library not found for -lPods

해결책:

내가해야했던 것은 달렸다

 pod install

새로운 Preview구성을 위해 cocoapod를 구성합니다. 내 프로젝트, 작업 공간 및 포드의 프로젝트 파일을 업데이트했는데 문제가 사라졌습니다.


답변

열지 .xcworkspace말고 확인하십시오.xcodeproj


답변

해결책이 저에게 효과적이지 않았습니다. 이것은 정말로 견딜 수 없으며, 파일을 libpods.a제거했습니다 (빨간색으로 표시되어 있음). 제거하고 모든 것이 잘 작동합니다! 나에게 건배;)


답변

포드 목록을 다음 Podfile과 같은 다른 대상 으로 나누었습니다 .

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

그리고 pod install

이것은 libPods-ABC.a내 바이너리가 링크되어야 하는 새로운 라이브러리 를 만들었습니다 . 그러나 버그는 이전 라이브러리를 삭제하지 않았다는 것 libPods.a입니다.

해결 방법 : 라이브러리를 제거 libPods.a에서 Build PhasesLink Binary With Libraries.


답변

오래된 libPod.a 파일을 지정했습니다 (대상 변경으로 인한 것 같습니다).

프로젝트 설정 -> 빌드 단계 -> 바이너리를 라이브러리와 연결

일반적으로 cocoapod에는 libPods-target.aor 와 같은 하나의 라이브러리 만 포함됩니다 libPods.a. 중복을 제거하여 해결했습니다.