프로젝트 빌드시 CocoaPods 오류


178

CocoaPods를 사용하는 프로젝트를 빌드 할 수 없습니다. 다음과 같은 오류가 발생합니다.

diff: /../Podfile.lock: No such file or directory
diff: Manifest.lock: No such file or directory error: 
The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.`

$ pod install잘 작동 Pods하고 내 작업 공간에 프로젝트를 추가하는 것 같습니다 . 시도 $ pod update했지만 도움이되지 않습니다.

PODS_ROOT설정되지 않은 것 같습니다 .

포드 파일 :

platform :ios, '6.0'

workspace 'Example.xcworkspace'
xcodeproj 'example/Example.xcodeproj' 

pod 'TestFlightSDK', '~> 1.3.0-beta.5'
pod 'TestFlightLogger', '~> 0.0.2'
pod 'CocoaLumberjack', '~> 1.6.2'
pod 'Reachability', '~> 3.1.0'
pod 'SBJson', '~> 3.2'
pod 'MKMapViewZoom', '~> 1.0.0'

3
간단한 "포드 설치"로 수정 :)
onmyway133

중대한! [!] From now on use MyProject.xcworkspace.오래되지 않은`.xcodeproj '
Dawid Drozd

에뮬레이터에서 테스트 할 때는 흰색 화면 만 있습니다.
desigNerd

답변:


171

내 Podfile을 크게 변경했을 때도 비슷한 문제가있었습니다. 내 해결책은 작업 공간 파일을 제거하고 pod install다시 실행하는 것이 었 습니다.

rm -rf MyProject.xcworkspace
pod install

17
cocoapod가 제대로 설치되지 않았 음을 의미합니다. 실행sudo gem install cocoapods
asgoth

4
gem install cocoapods더 좋습니다. sudo보석과 함께 대부분의 시간이 필요하지 않습니다.
PatrickNLT

5
당신의 대답은 나의 하루를 만들었습니다. 나는 몇 시간 동안 그것에 갇혀 있었다. 모자 오프
shaikh

감사합니다. 오류가 수정되었습니다. FWIW, 나는gem update cocoapods
rounak

문제가 해결되었습니다. "포드 업데이트"를 수행 할 때 오류가 발생했습니다
swebal

68

TLDR : 이것은 Xcode의 버그 일 가능성이 높으며 프로젝트를 닫았다가 다시 여는 것이 일반적으로 가장 간단한 해결책입니다. 다른 모든 것이 제대로 구성되어 있다고 가정 합니다 .


Pods디렉토리를 삭제 한 다음 실행할 때 가끔 같은 오류가 발생 합니다 pod install.

프로젝트 정보에 모든 것이 올바르게 나타납니다.

여기에 이미지 설명을 입력하십시오

그러나 대상의 사용자 정의 빌드 설정으로 이동하면 PODS_ROOT 항목이 완전히 없거나 하나 이상의 구성에 대해 비어 있습니다. 빌드시 다음과 같은 오류가 발생합니다.

여기에 이미지 설명을 입력하십시오

가장 간단한 수정 방법은 Xcode에서 프로젝트닫고 다시 여는 것 입니다.

대상의 빌드 설정으로 이동하여 모두를 필터링 하면 PODS_ROOT오류없이 항목이 표시됩니다 .

여기에 이미지 설명을 입력하십시오

이제 오류없이 빌드되어야합니다.


참고 : Cocoa Pods의 공식 AFNetworking iOS 예제에서도이 문제가 발생하여 Xcode의 버그라고 생각합니다.

다른 수정 방법은 구성을 수동으로 변경 None한 다음 원래 값으로 되 돌리는 것입니다.

여기에 이미지 설명을 입력하십시오


1
이것은 나를 위해 밝혀졌다! 내 $ PODS_ROOT가 잘못 설정되었습니다
Alex Ryan

수정 프로그램을 오랫동안 검색 한 후 솔루션 덕분에 오류없이 해결할 수있었습니다. 방금 구성을 없음으로 변경하고 포드로 다시 변경해야했습니다
Glogo

아무도 도와주지 않는 것이 좋습니다.

32

대상으로 이동하여 "사용자 정의"섹션에서 Build Settings값이 PODS_ROOT동일한 지 확인하십시오 ${SRCROOT}/Pods.

여기에 이미지 설명을 입력하십시오


잘 작동합니다. 이것이 필요한 것입니다.
pr4n

내가 추가 한 PODS_ROOT이 경로와 비올라 내 타겟 (나는 또한에 추가 header search paths"$ (PODS_ROOT)"로 재귀
Jacksonkr

나를 위해 일하지 않았다.

30

업데이트 : a podfile.lock가 필요하며 버전 제어에서 무시 해서는 안되며 특정 포드 설치에 설치된 라이브러리 버전을 추적합니다. ( 레일 및 PHP 의존성 관리에 대해서는 각각 gemfile.lockcomposer.lock 과 유사합니다 ). 자세한 내용은 문서를 참조하십시오 . 신용은 cbowns에 간다 .


내 경우에는 내가 프로젝트를 위해 집 청소를하고 있었으며 (즉, 통합 테스트를 git 하위 모듈로 분기합니다. 중복 파일 제거 등) .... 최종 결과를 git remote repo. 내 repo를 복제 한 모든 클라이언트는 위의 오류로 고통 받았습니다. 위 의 Hlung의 의견에서 영감을 받아 존재하지 않는 파일에 대해 실행하려는 매달려있는 포드 스크립트가 있음을 깨달았습니다. 그래서 난 내 목표 구축 단계에 가서, 코코아 포드 (및 Hlung의 의견 그가 삭제 시사와 아무 한 나머지 모든 단계 삭제 Copy Pods Manifest.lockcopy pod resources광산 다른 이름이되었다 .. 어쩌면 B / I는 엑스 코드 5 사용하고 c를 있습니다 .. 요점은 매달려있는 빌드 단계를 삭제하는 것입니다.)


1
그 게 아니에요 Podfile.lock읽어입니다 "팀과 함께 작업"에 Cocoapods '문서를 그것에 대한 자세한 내용은.
cbowns

@cbowns 의견에 감사드립니다. 답변을 업데이트했습니다.
5

12
xcworkspace 파일을 삭제하고 pod 설치를 수행했지만 여전히 같은 오류 메시지가 나타납니다.
jowie

@ jowie here here ... 당신이 그것을 해결했다면 나를 안내 할 수 있습니까?
Bandish Dave

28

따라서 CocoaPods가 내 프로젝트의 구성을 설정하지 않은 것 같습니다. Pods.xcconfig에서 찾은 내용을 기반으로해야 합니다 Pods/Target Support Files/Pods. 이것이 작동하려면 다음을 수행해야했습니다.

  1. 이 파일을 Xcode의 Xcode Project로 드래그하여 복사하지 않도록 선택하십시오.
  2. 이제 프로젝트에 참조가 있으며 구성을 설정할 수 있습니다. 여기에 이미지 설명을 입력하십시오

그런 다음 관련되었거나 관련되지 않은 다른 빌드 오류가 발생했습니다. 에 정의 된 쉘 스크립트의 경로 Copy Pods Resources가 올바르지 않습니다.

"${SRCROOT}/Pods/Pods-resources.sh"

잘못 해결되었습니다. SRCROOT가 경로에 존재하지 않는 추가 디렉토리를 추가하는 것 같습니다. 그래서 Project 폴더의 경로를 하드 코딩했습니다.

이것은 내가 만들 수있었습니다.

왜 시간을 절약해야 할 많은 것들이 그것을 먹게 될까요?

참고 : 설명은 @abood의 답변을 참조하십시오.


27
대상에서 모든 포드제거 했기 때문에이 오류가 표시 되면 더 이상 포드 스크립트가 없지만 여전히 실행을 시도합니다. 대상 빌드 단계로 이동하여 삭제 Copy Pods Manifest.lockCopy Pods Resources단계를 수행해야합니다. 또한 libPods.a라이브러리와 바이너리 링크를 제거하십시오 .
Hlung

@Hlung 우수한 의견 .. 그것은 실제로 문제의 근본 원인을 해결하고, 위의 해결책을 시도했지만 여전히 Podfile.lock (대부분의 .gitignore파일은 무시하도록 구성되어 있습니다. 주위에 머 무르지 마라. 당신이 답으로 쓴다면, 나는 당신에게 +1을 줄 것이다!
abcood

@abbood 작성해 주시면 승리하겠습니다.
Undistraction

그냥 것을 추가하고 싶었 이 문제 CocoaPods 'Github의 페이지에 아마이 정확한 문제에 대한 빌드 단계를 확인 언급한다 (더 유사한 내가 여러 대상을 가지고 있기 때문에). 문제가 발생하여 여기로 스크롤했습니다 ....
DanBlakemore

22

비슷한 문제가 있습니다.

  1. Xcode에서 :
    • 깨끗한
    • Xcode / 창 / 주최자 / 프로젝트 / 귀하의 프로젝트에서 파생 데이터 삭제
    • 포드 디렉토리 (구성 파일을 포함하고 참조뿐만 아니라 파일을 삭제하십시오!)
    • 프로젝트 / 구성 (버그 / 릴리스)의 모든 대상에 대한 포드 구성 파일에 대한 모든 참조가 제거되었습니다.
    • 모든 대상에서 "대상 / 빌드 단계 / 팟 리소스 복사"가 제거되었습니다.
    • 모든 대상에서 "타겟 / 빌드 설정 / 사용자 정의 / PODS_ROOT"를 제거했습니다.
  2. Xcode 종료
  3. 프로젝트 디렉토리에서 :
    • rm -rf 포드
    • (선택 사항) rm -rf YourProject.xcworkspace
    • rm -rf Podfile.lock
  4. 포드 설치
  5. Xcode에서 YourProject.xcworkspace를여십시오

4
작업 공간을 임의로 제거하지 마십시오. 작업 공간이 Cocoapods에 의해 생성 된 경우에도 작업 공간은 사용자가 관리합니다.
Joseph DeCarlo

이것은 나를 위해 포드와 관련된 모든 파일을 삭제하고 포드를 다시 설치했습니다.
Leena

15

다음 단계를 수행하여 동일한 문제를 제거했습니다.

  • Xcode->Product->Clean Build Folder( alt 키를 누르고 제품을 보려면 를 십시오)
  • 탭을 열고 Xcode->Window->Organizer선택 Projects하십시오. 그런 다음 프로젝트를 찾고 프로젝트를 삭제 derived data 하십시오.

1
나를 위해 일했다. 화가났다. 이제 행복해
fresidue

내 경우에는 github 프로젝트에 문제가있었습니다. 따라서 프로젝트 디렉토리 (rm -rf)를 완전히 제거하고 위의 작업을 수행 한 다음 프로젝트의 압축을 풀고 pod를 설치하고 xcworkspace를 열었고 오류는 없었습니다!
rharvey

나를 위해 일했다. 감사합니다.
xevser

10

다음을 수행하여 간단히 해결하십시오.

  • (스도) 보석 설치 코코아 포드

  • 포드 설치

  • 깨끗하고 구축

문제는 최근에 Cocoapods 보석을 설치 한 팀 구성원 중 한 명이 원인 인 것 같습니다.


1
이 문제를 해결하려면 cocoapod를 다시 설치하고 XCode를 다시 시작해야했습니다.
Camster

이 스레드에서 언급 된 다른 모든 것을 실행 gem install cocoapods한 다음 pod install에 ...
Echelon

9

  1. 숭고한 텍스트로 .xcodeproj 파일 열기
  2. 포드 폴더가 깨끗하면이 두 줄을 제거하십시오. 포드 폴더를 제거한 후 위의 오류가 발생하면 의미합니다

-lPods-/ * My Project Name * / Tests에 대한 ld : 라이브러리를 찾을 수 없음
SleepsOnNewspapers

또한 향후 포드 설치에서 오류가 발생합니까?
SleepsOnNewspapers

6

/Pods/Pods-resources.sh와 같은 문제가 발생했습니다. 포드와 관련된 파일 등을 제거한 후에도 해당 파일이나 디렉토리가 없습니다.

target-> Build 단계로 이동 한 다음 빌드 단계 "Copy Pod Resources"를 제거하여 제거하십시오.


멋진 수정이지만 프로젝트 및 파생 데이터를 정리 한 후 두려워합니다. 왜 이것이 필요한지 알 수 있습니다 :)
Julian Król

그런 다음 포드를 사용하는 fileName에서 ".h"파일을 찾을 수 없음 오류가 발생 함
coolcool1994

4

최근에 같은 문제가있었습니다. 가능한 모든 조언을 시도했지만이 플러그인을 제외하고는 아무것도 효과가 없었습니다.

https://github.com/kylef/cocoapods-deintegrate

현재 cocoapods 통합을 정리 한 후 삭제해야 할 것은 Podfile, Podfile.lock 및 .xcworkspace입니다. 그런 다음 다시 설치하십시오.

나는 이것으로 누군가를 도울 수 있기를 바랍니다.


이것이 나를 위해 고친 유일한 것입니다.
찰리

찰리를 도울 수있어서 기쁘다
Chiara

4

이 문제는 해결되었습니다.

  1. 프로젝트의 대상 을 선택하십시오
  2. 빌드 설정을 선택 하십시오
  3. 사용자 정의 드롭 다운 목록 열기
  4. PODS_ROOT 키의 값 을 $ {SRCROOT} / Pods로 변경

위 단계의 스크린 샷


1
나는 너를 좋아했다. 그러나 여전히 똑같은 칙칙한 오류가 발생합니다. 이게 뭐야 !!! 아무도 이것에 대한 정답이 없습니다.

@YumYumYum : 그런 다음 포드를 다시 설치하십시오.
Jayprakash Dubey 2012

모든 솔루션을 시도했지만이 방법이 효과적이었습니다. 제 경우에는 릴리스에서 경로를 설정하는 것으로 남아 있습니다.
Ankit Kargathra

3

여기에 버그가 있다고 생각합니다.
나에게 Pods폴더를 삭제 Podfile.lock하고 pod install다시 해결하여 문제를 해결했습니다.
이 메시지는 무시하고 있습니다 .. :(


2

매우 직관적이지 않았습니다. 기본 프로젝트 설정으로 이동 한 다음 Check Pods Manifest.lock 아래의 pod.lock 및 pod.manifest에 경로를 하드 코딩했습니다. 실제로 다른 폴더에 있었기 때문에 경로는 다음과 같습니다.

diff "/Users/admin/Desktop/Experimental/projectfolder/Podfile.lock" "/Users/admin/Desktop/Experimental/projectfolder/Pods/Manifest.lock" > /dev/null
if [[ $? != 0 ]] ; then
    cat << EOM
error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.
EOM
    exit 1
fi

스크립트가 CocoaPod에 의해 생성 된 것 같습니다. 이 스크립트를 어디에 넣었습니까?
Nickolas

2

다음을 시도해보십시오. 그것은 나를 위해 고정되었습니다.

  1. gem 설치 cocoapods-deintegrate 설치
  2. gem 설치 cocoapods-clean 설치
  3. 고토 포드 분해
  4. 포드 청소
  5. 포드 설치

플러그인은 프로젝트의 cocoapod에서 제거되고 새로 설치됩니다.


2

필자의 경우 이것은 포드 파일 내부에서 모든 포드를 제거 한 테스트 대상이었습니다 (나중에 대상에 필요하지 않은 포드를 추가했기 때문에). 여기에 다른 솔루션 중 어느 것도 나를 위해 일하지 않았습니다.

  1. 문제를 일으키는 대상의 프로젝트 설정에서 빌드 단계 탭으로 이동하십시오.

  2. "Pods Manifest 확인"및 "Pods 자원 복사"섹션을 삭제하십시오.

  3. "이진을 라이브러리와 링크"내부에서 libPods-YourTarget.a를 제거하십시오.

  4. 정보 탭의 프로젝트 설정에서 "구성"을 펼치고 디버그 및 릴리스 모두에 대해 대상의 구성을 없음으로 설정하십시오. (이것은 누락 된 파일 경고를 수정합니다)

  5. 프로젝트의 파생 데이터를 삭제하고 (윈도우> 프로젝트> [프로젝트 옆에있는 삭제] Xcode를 다시 시작하십시오. 빌드 / 실행 대상.


2

이것은 나의 하루를 만들었다!

  1. 프로젝트 폴더에서 Podfile.lock 파일 삭제
  2. 프로젝트 폴더에서 Pods 폴더 삭제
  3. pod install프로젝트 폴더에서 실행
  4. Xcode에서 "청소"수행
  5. 프로젝트 재 구축

1

제 경우에는 문제가 잘못되었습니다. 여기에 솔루션 http://guides.cocoapods.org/using/troubleshooting.html

문제가 해결되지 않으면 우선 프로젝트 빌드 설정의 Pods.xcconfig 파일에서 설정 한 옵션을 완전히 무시하지 않는지 확인하십시오. 프로젝트의 빌드 설정에서 옵션에 값을 추가하려면 값 목록 앞에 $ (inherited)를 추가하십시오 .



1

이 오류를 제거하려면 Pods디렉토리를 삭제하고 Podfile.lock파일을 삭제해야했습니다 .


동의합니다. 작업 공간 파일 제거를 포함하여 모든 작업을 수행했으며 저에게 효과적이었습니다.
Alix

1

제 경우에는 Podfile.lock & Manifest.lock을 소스 제어에 넣었지만 Pods-Project.debug (release) .xcconfig 파일을 소스 제어에 추가하는 것을 잊었습니다 (실수로 * .xcconfig를 .gitignore에 추가하여). PODS_ROOT가 설정되지 않은 것과 동일한 이유로 동일한 컴파일 오류가 발생했습니다.

따라서 repo를 복제 한 후 시스템에 CocoaPods를 설치하지 않고 프로젝트를 즉시 빌드하고 실행할 수 있다면 소스 제어에 전체 포드 디렉토리를 추가하거나 Podfile.lock, Manifest.lock, 프로젝트의 xcconfig 파일 및 xcconfig 파일을 소스 제어로 포드합니다.

빌드 설정을 기본 CocoaPods 구성과 병합 하는 개인 .xcconfig 를 소스 제어에 넣지 않았습니다.


1

몇 시간을 보낸 후 솔루션이 "빌드 단계"로 이동 한 다음 "팟 매니페스트 확인"을 선택하고 "설치할 때만 스크립트 실행"을 선택하십시오.

나중에 감사합니다;)여기에 이미지 설명을 입력하십시오


1

IONIC 프로젝트 와 동일한 문제가 있었지만 모든 솔루션을 시도했지만 운이 없었습니다.

여전히 같은 문제가있는 경우, 설정 아래 체크 날씨에 존재 Build Settings -> User-Defined settings여부

1. PODS_ROOT 2.PODS_PODFILE_DIR_PATH

존재하지 않으면 추가하십시오.

PODS_ROOT = ${SRCROOT}/Pods

PODS_PODFILE_DIR_PATH = ${SRCROOT}/

문제 해결 솔루션 링크


0

포드를 사용하기 전에 여러 개의 대상을 만들었습니다. 나중에 다른 대상을 컴파일하기 시작했을 때 내 Podfile의 대상 목록에 link_with를 추가해야했습니다.


0

나는 같은 문제가 있었다. 최근 단계 를 다시 추적 한 후 새 대상에 대한 대상 선언을 추가 한 다음 실행 이 문제의 원인 이라는 것을 알았습니다 .pod install,

여기에 이미지 설명을 입력하십시오

Cocoapods가 소스 제어하에 있지 않은 하나 이상의 파일을 수정 했으므로 분기 재설정 및 프로젝트 정리가 작동하지 않았습니다 . 추가 대상을 추가하기 전에 원격 지점을 커밋으로 재설정하고 리포지토리를 다시 복제하면 문제가 더 이상 존재하지 않기 때문에 이것을 알고 있습니다.


0

watchOS 대상이있는 경우 : 갑자기 시계 확장에 포드가 있지만 시계 대상 자체에는 포드가 없어도 동일한 오류가 발생합니다. 해결책은 포드를 시계 대상에 추가하는 것입니다.



0

Podfile을 만든 후 새 대상을 추가 한 경우 Podfile, Podfile.lock, Pods 폴더 및 작업 영역을 삭제 한 다음 포드를 초기화하십시오-그런 다음 포드 포드 설치를 두십시오.


0

위의 시도 후, 나는 오류가 발생했다는 것을 깨달았습니다. pod install

[!] 프로젝트에 이미 사용자 정의 구성 세트가 있으므로 CocoaPods가 프로젝트의 기본 구성을 설정하지 않았습니다.

cocoapods가 .xcconfig 파일을 프로젝트에 추가하지 않았기 때문에 오류가 발생했습니다.

이 문제를 해결하기 위해 Info프로젝트 탭으로 갔습니다 . None모든 구성표 및 대상 에 대해 나의 구성 파일 기반을로 설정하십시오 . 그런 다음 다시 실행pod install

자세한 내용은이 링크를 참조하십시오. Cocoapods 경고-프로젝트에 이미 사용자 정의 구성 세트가 있으므로 CocoaPods가 프로젝트의 기본 구성을 설정하지 않았습니다.


0

필자의 경우 실수로 구성 파일 끝에 불필요한 점을 입력 하여이 이상한 문제가 발생했습니다. 구성 파일에 오류가 없는지 확인하십시오!

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