프로젝트 빌드시 CocoaPods 오류
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'
내 Podfile을 크게 변경했을 때도 비슷한 문제가있었습니다. 내 해결책은 작업 공간 파일을 제거하고 pod install
다시 실행하는 것이 었 습니다.
rm -rf MyProject.xcworkspace
pod install
TLDR : 이것은 Xcode의 버그 일 가능성이 높으며 프로젝트를 닫았다가 다시 여는 것이 일반적으로 가장 간단한 해결책입니다. 다른 모든 것이 제대로 구성되어 있다고 가정 합니다 .
Pods
디렉토리를 삭제 한 다음 실행할 때 가끔 같은 오류가 발생 합니다 pod install
.
프로젝트 정보에 모든 것이 올바르게 나타납니다.
그러나 대상의 사용자 정의 빌드 설정으로 이동하면 PODS_ROOT 항목이 완전히 없거나 하나 이상의 구성에 대해 비어 있습니다. 빌드시 다음과 같은 오류가 발생합니다.
가장 간단한 수정 방법은 Xcode에서 프로젝트 를 닫고 다시 여는 것 입니다.
대상의 빌드 설정으로 이동하여 모두를 필터링 하면 PODS_ROOT
오류없이 항목이 표시됩니다 .
이제 오류없이 빌드되어야합니다.
참고 : Cocoa Pods의 공식 AFNetworking iOS 예제에서도이 문제가 발생하여 Xcode의 버그라고 생각합니다.
다른 수정 방법은 구성을 수동으로 변경 None
한 다음 원래 값으로 되 돌리는 것입니다.
대상으로 이동하여 "사용자 정의"섹션에서 Build Settings
값이 PODS_ROOT
동일한 지 확인하십시오 ${SRCROOT}/Pods
.
업데이트 : a podfile.lock
가 필요하며 버전 제어에서 무시 해서는 안되며 특정 포드 설치에 설치된 라이브러리 버전을 추적합니다. ( 레일 및 PHP 의존성 관리에 대해서는 각각 gemfile.lock 및 composer.lock 과 유사합니다 ). 자세한 내용은 문서를 참조하십시오 . 신용은 cbowns에 간다 .
내 경우에는 내가 프로젝트를 위해 집 청소를하고 있었으며 (즉, 통합 테스트를 git 하위 모듈로 분기합니다. 중복 파일 제거 등) .... 최종 결과를 git remote repo. 내 repo를 복제 한 모든 클라이언트는 위의 오류로 고통 받았습니다. 위 의 Hlung의 의견에서 영감을 받아 존재하지 않는 파일에 대해 실행하려고하는 매달려있는 포드 스크립트가 있음을 깨달았습니다. 그래서 난 내 목표 구축 단계에 가서, 코코아 포드 (및 Hlung의 의견 그가 삭제 시사와 아무 한 나머지 모든 단계 삭제 Copy Pods Manifest.lock
및 copy pod resources
광산 다른 이름이되었다 .. 어쩌면 B / I는 엑스 코드 5 사용하고 c를 있습니다 .. 요점은 매달려있는 빌드 단계를 삭제하는 것입니다.)
따라서 CocoaPods가 내 프로젝트의 구성을 설정하지 않은 것 같습니다. Pods.xcconfig
에서 찾은 내용을 기반으로해야 합니다 Pods/Target Support Files/Pods
. 이것이 작동하려면 다음을 수행해야했습니다.
- 이 파일을 Xcode의 Xcode Project로 드래그하여 복사하지 않도록 선택하십시오.
- 이제 프로젝트에 참조가 있으며 구성을 설정할 수 있습니다.
그런 다음 관련되었거나 관련되지 않은 다른 빌드 오류가 발생했습니다. 에 정의 된 쉘 스크립트의 경로 Copy Pods Resources
가 올바르지 않습니다.
"${SRCROOT}/Pods/Pods-resources.sh"
잘못 해결되었습니다. SRCROOT가 경로에 존재하지 않는 추가 디렉토리를 추가하는 것 같습니다. 그래서 Project 폴더의 경로를 하드 코딩했습니다.
이것은 내가 만들 수있게했습니다.
왜 시간을 절약해야 할 많은 것들이 그것을 먹게 될까요?
참고 : 설명은 @abood의 답변을 참조하십시오.
비슷한 문제가 있습니다.
- Xcode에서 :
- 깨끗한
- Xcode / 창 / 주최자 / 프로젝트 / 귀하의 프로젝트에서 파생 데이터 삭제
- 포드 디렉토리 (구성 파일을 포함하고 참조뿐만 아니라 파일을 삭제하십시오!)
- 프로젝트 / 구성 (버그 / 릴리스)의 모든 대상에 대한 포드 구성 파일에 대한 모든 참조가 제거되었습니다.
- 모든 대상에서 "대상 / 빌드 단계 / 팟 리소스 복사"가 제거되었습니다.
- 모든 대상에서 "타겟 / 빌드 설정 / 사용자 정의 / PODS_ROOT"를 제거했습니다.
- Xcode 종료
- 프로젝트 디렉토리에서 :
- rm -rf 포드
- (선택 사항) rm -rf YourProject.xcworkspace
- rm -rf Podfile.lock
- 포드 설치
- Xcode에서 YourProject.xcworkspace를여십시오
다음 단계를 수행하여 동일한 문제를 제거했습니다.
Xcode->Product->Clean Build Folder
( 제품을 보려면 Alt 키 를 누르 십시오)- 탭을 열고
Xcode->Window->Organizer
선택Projects
하십시오. 그런 다음 프로젝트를 찾고 프로젝트를 삭제derived data
하십시오.
다음을 수행하여 간단히 해결하십시오.
(스도) 보석 설치 코코아 포드
포드 설치
깨끗하고 구축
팀 구성원 중 한 명이 최신 cocoapods gem 설치로 인해 문제가 발생한 것 같습니다.
- 숭고한 텍스트로 .xcodeproj 파일 열기
- 포드 폴더가 깨끗하면이 두 줄을 제거하십시오. 포드 폴더를 제거한 후 위의 오류가 발생하면 의미합니다
/Pods/Pods-resources.sh와 같은 문제가 발생했습니다. 포드와 관련된 파일 등을 제거한 후에도 해당 파일이나 디렉토리가 없습니다.
target-> Build 단계로 이동 한 다음 빌드 단계 "Copy Pod Resources"를 제거하여 제거하십시오.
나는 최근에 같은 문제가 있었다. 가능한 모든 조언을 시도했지만이 플러그인을 제외하고는 아무것도 효과가 없었습니다.
https://github.com/kylef/cocoapods-deintegrate
현재 cocoapods 통합을 정리 한 후 삭제해야 할 것은 Podfile, Podfile.lock 및 .xcworkspace입니다. 그런 다음 다시 설치하십시오.
나는 이것으로 누군가를 도울 수 있기를 바랍니다.
이 문제는 해결되었습니다.
- 프로젝트의 대상 을 선택하십시오
- 빌드 설정을 선택 하십시오
- 사용자 정의 드롭 다운 목록 열기
- PODS_ROOT 키의 값 을 $ {SRCROOT} / Pods로 변경
여기에 버그가 있다고 생각합니다.
나에게 Pods
폴더를 삭제 Podfile.lock
하고 pod install
다시 해결하여 문제를 해결했습니다.
이 메시지는 무시하고 있습니다 .. :(
매우 직관적이지 않았습니다. 기본 프로젝트 설정으로 이동 한 다음 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
다음을 시도해보십시오. 그것은 나를 위해 고정되었습니다.
- gem 설치 cocoapods-deintegrate 설치
- gem 설치 cocoapods-clean 설치
- 고토 포드 분해
- 포드 청소
- 포드 설치
플러그인은 프로젝트의 cocoapod에서 제거되고 새로 설치됩니다.
필자의 경우, 이것은 podfile 내부에서 모든 포드를 제거 한 테스트 대상이었습니다 (나중에 대상에 필요하지 않은 포드를 추가했기 때문에 포드를 추가했기 때문에). 여기에 다른 솔루션은 저에게 효과적이지 않았습니다.
문제를 일으키는 대상의 프로젝트 설정에서 빌드 단계 탭으로 이동하십시오.
"Pods Manifest 확인"및 "Pods 자원 복사"섹션을 삭제하십시오.
"이진을 라이브러리와 링크"내부에서 libPods-YourTarget.a를 제거하십시오.
정보 탭의 프로젝트 설정에서 "구성"을 펼치고 디버그 및 릴리스 모두에 대해 대상의 구성을 없음으로 설정하십시오. (이것은 누락 된 파일 경고를 수정합니다)
프로젝트의 파생 데이터를 삭제하고 (창> 프로젝트> [프로젝트 옆에있는 삭제] Xcode를 다시 시작하십시오. 빌드 / 실행 대상.
이것은 나의 하루를 만들었다!
- 프로젝트 폴더에서 Podfile.lock 파일 삭제
- 프로젝트 폴더에서 포드 폴더 삭제
pod install
프로젝트 폴더에서 실행- Xcode에서 "청소"수행
- 프로젝트 재 구축
내 경우에는 문제가 잘못되었습니다. 여기에 솔루션 http://guides.cocoapods.org/using/troubleshooting.html
문제가 해결되지 않으면 우선 프로젝트 빌드 설정의 Pods.xcconfig 파일에서 설정 한 옵션을 완전히 무시하지 않는지 확인하십시오. 프로젝트의 빌드 설정에서 옵션에 값을 추가하려면 값 목록 앞에 $ (inherited)를 추가하십시오 .
나는이 문제가 있었다.
내가 고친 방법은 포드를 완전히 삭제하고 다시 구현하는 것입니다. 프로젝트에서 CocoaPods를 제거하는 방법 은 다음과 같이 "Build Phases"에서 "Pods Resources 복사"및 "Check Pods Manifest.lock" 을 삭제 하십시오.
이 오류를 제거하려면 Pods
디렉토리를 삭제하고 Podfile.lock
파일을 삭제해야했습니다 .
제 경우에는 Podfile.lock & Manifest.lock을 소스 제어에 넣었지만 Pods-Project.debug (release) .xcconfig 파일을 소스 제어에 추가하는 것을 잊었습니다 (실수로 * .xcconfig를 .gitignore에 추가하여). PODS_ROOT가 설정되지 않은 것과 동일한 이유로 동일한 컴파일 오류가 발생했습니다.
따라서 repo를 복제 한 후 시스템에 CocoaPods를 설치하지 않고 프로젝트를 즉시 빌드하고 실행할 수 있다면 소스 제어에 전체 포드 디렉토리를 추가하거나 Podfile.lock, Manifest.lock, 프로젝트의 xcconfig 파일 및 xcconfig 파일을 소스 제어로 포드합니다.
빌드 설정을 기본 CocoaPods 구성과 병합 하는 개인 .xcconfig 를 소스 제어에 넣지 않았습니다.
내 IONIC 프로젝트 와 동일한 문제가 있었지만 모든 솔루션을 시도했지만 운이 없었습니다.
여전히 같은 문제가있는 경우, 설정 아래 체크 날씨에 존재 Build Settings -> User-Defined settings
여부
1. PODS_ROOT
2.PODS_PODFILE_DIR_PATH
존재하지 않으면 추가하십시오.
PODS_ROOT = ${SRCROOT}/Pods
PODS_PODFILE_DIR_PATH = ${SRCROOT}/
문제 해결 솔루션 링크
포드를 사용하기 전에 여러 개의 대상을 만들었습니다. 나중에 다른 대상을 컴파일하기 시작했을 때 내 Podfile의 대상 목록에 link_with를 추가해야했습니다.
나는 같은 문제가 있었다. 최근 단계 를 다시 추적 한 후 새 대상에 대한 대상 선언을 추가 한 다음 실행 이 문제의 원인 이라는 것을 알았습니다 .pod install,
Cocoapods가 소스 제어하에 있지 않은 하나 이상의 파일을 수정 했으므로 분기 재설정 및 프로젝트 정리가 작동하지 않았습니다 . 추가 대상을 추가하기 전에 원격 지점을 커밋으로 재설정하고 리포지토리를 다시 복제하면 문제가 더 이상 존재하지 않기 때문에 이것을 알고 있습니다.
watchOS 대상이있는 경우 : 갑자기 시계 확장에 포드가 있지만 시계 대상 자체에는 포드가 없어도 동일한 오류가 발생합니다. 해결책은 포드를 시계 대상에 추가하는 것입니다.
gem install xcodeproj
당신을 도울 수 있습니다.
중단-새 Swift 프로젝트에서 포드 설치 실패를 참조하십시오 .
Podfile을 만든 후 새 대상을 추가 한 경우 Podfile, Podfile.lock, Pods 폴더 및 작업 영역을 삭제 한 다음 포드를 초기화하십시오-그런 다음 포드 포드 설치를 두십시오.
위의 시도 후, 나는 오류가 발생했다는 것을 깨달았습니다. pod install
[!] 프로젝트에 이미 사용자 정의 구성 세트가 있으므로 CocoaPods가 프로젝트의 기본 구성을 설정하지 않았습니다.
cocoapods가 .xcconfig 파일을 프로젝트에 추가하지 않았기 때문에 오류가 발생했습니다.
이 문제를 해결하기 위해 Info
프로젝트 탭으로 갔습니다 . None
모든 구성표 및 대상 에 대해 나의 구성 파일 기반을로 설정하십시오 . 그런 다음 다시 실행pod install
자세한 내용은이 링크를 참조하십시오. Cocoapods 경고-프로젝트에 이미 사용자 정의 구성 세트가 있으므로 CocoaPods가 프로젝트의 기본 구성을 설정하지 않았습니다.
몇 시간을 보낸 후 솔루션이 "빌드 단계"로 이동 한 다음 "팟 매니페스트 확인"을 선택하고 "설치할 때만 스크립트 실행"을 선택하십시오.
필자의 경우 실수로 구성 파일 끝에 불필요한 점을 입력 하여이 이상한 문제가 발생했습니다. 구성 파일에 오류가 없는지 확인하십시오!
참고 URL : https://stackoverflow.com/questions/17072396/cocoapods-errors-on-project-build
'Programing' 카테고리의 다른 글
트위터 부트 스트랩 버튼 텍스트 워드 랩 (0) | 2020.05.20 |
---|---|
jquery 입력 필드를 비우는 방법 (0) | 2020.05.20 |
Ant와 Maven의 차이점 (0) | 2020.05.20 |
Java 주석의 / ** 및 / * (0) | 2020.05.20 |
한 목록에서 다른 목록의 항목 제거 (0) | 2020.05.20 |