프로젝트를 보관할 때 오류가 발생했습니다. 이것은 내 환경입니다.
- 맥 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.a 및 libPods-AppTests.a 가 각각 생성 되었으며 이전 제품인 libPods.a는 더 이상 사용되지 않습니다. 두 대상 의 빌드 단계 구성의 라이브러리와 바이너리 링크 섹션 에서이 제품을 제거해야했습니다 .
답변
나는 오늘 비슷한 문제에 부딪쳤다.
- 새 프로젝트를 설정했습니다
- 코코아 포드를 설치했습니다
- 나는 새로운 구성을 만들어
Preview
기존과 함께Debug
하고Release
-
이제이 새로운
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 Phases
의 Link Binary With Libraries
.
답변
오래된 libPod.a 파일을 지정했습니다 (대상 변경으로 인한 것 같습니다).
프로젝트 설정 -> 빌드 단계 -> 바이너리를 라이브러리와 연결
일반적으로 cocoapod에는 libPods-target.a
or 와 같은 하나의 라이브러리 만 포함됩니다 libPods.a
. 중복을 제거하여 해결했습니다.