프로젝트에서 CocoaPod를 제거하는 올바른 방법은 무엇입니까? CocoaPod 전체를 제거하고 싶습니다. 내 고객이 부과 한 일부 제한으로 인해 사용할 수 없습니다. xcworkspace 대신 하나의 xcodeproj가 필요합니다.
pod deintegrate
프로젝트에서 CocoaPod를 제거하는 올바른 방법은 무엇입니까? CocoaPod 전체를 제거하고 싶습니다. 내 고객이 부과 한 일부 제한으로 인해 사용할 수 없습니다. xcworkspace 대신 하나의 xcodeproj가 필요합니다.
pod deintegrate
답변:
프로젝트에서 CocoaPod를 제거 할 수 있지만 현재 CLI에 의해 자동화되지 않았습니다. 첫 번째로, 유일한 문제 xcworkspace
는 사용할 수 없는 경우 작업 공간 은 아니지만 생성하는 플래그를 xcodeproj
사용하여 CocoaPod를 s 와 함께 사용할 수 있습니다 . 그런 다음 이것을 메인에 하위 프로젝트로 추가 할 수 있습니다 .--no-integrate
Pods.xcodeproj
xcodeproj
xcodeproj
모든 CocoaPods 통합을 정말로 제거하려면 몇 가지 작업을 수행해야합니다.
참고 잘못 수행 한 경우이 중 일부를 편집하면 기본 프로젝트가 중단 될 수 있습니다. 만일을 대비하여 프로젝트를 소스 제어로 확인하는 것이 좋습니다. 또한 이러한 지침은 CocoaPods 버전에 대한 것이며 0.39.0
새 버전으로 변경 될 수 있습니다.
Podfile
Podfile.lock
및 Pods
디렉토리 삭제xcworkspace
xcodeproj
, 파일에 대한 참조를 제거 Pods.xcconfig
하고 libPods.a
합니다 (의 Frameworks
그룹)Build Phases
삭제 Copy Pods Resources
, Embed Pods Frameworks
및 Check Pods Manifest.lock
단계.이러한 단계 후에는 xcodeproj
CocoaPod를 통합하기 전에 존재 하는 단일 항목으로 설정해야합니다 . 내가 놓친 것이 있으면 알려 주시면 수정하겠습니다.
또한 항상 CocoaPods를 개선하는 방법에 대한 제안을 찾고 있으므로 문제가있는 경우 문제 추적기 에 제출하여 문제 를 해결하는 방법을 제안하십시오!
편집하다
의견에 Jack Wu가 제시 한 것처럼 타사 CocoaPods 플러그인이 있어이 단계를 자동화 할 수 있습니다. 여기 에서 찾을 수 있습니다 . 이 플러그인은 타사 플러그인이므로 CocoaPods가 업데이트 될 때 항상 업데이트되는 것은 아닙니다. 또한 CocoaPods 핵심 팀원이 작성하므로 문제는 문제가되지 않습니다.
pod deintegrate
및 pod clean
프로젝트 / REPO에서 CocoaPod을 제거하는 명령이 지정되어 있습니다.
다음은 전체 명령 세트입니다.
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod cache clean --all
$ rm Podfile
원래 솔루션은 여기에서 찾을 수 있습니다 : https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
CocoaPod 설명서 pod deintegrate
: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
프로젝트에서 포드를 완전히 제거하려면 먼저 두 가지를 설치해야합니다. 다음은 다음과 같습니다 (시스템에 이미 코코아 포드가 설치되어 있다고 가정).
설치
Cocoapods-Deintegrate 플러그인
터미널에서 다음 명령을 사용하여 설치하십시오.
sudo gem install cocoapods-deintegrate
Cocoapods-Clean 플러그인
터미널에서 다음 명령을 사용하여 설치하십시오.
sudo gem install cocoapods-clean
용법
우선 다음과 같은 일반적인 명령을 사용하여 프로젝트 폴더로 이동하십시오.
cd (path of the project) //Remove the braces after cd
이제이 두 플러그인을 사용하여 다음과 같이 완전히 제거하십시오.
Cocoapods-Deintegrate 플러그인
터미널에서 다음 명령을 사용하여 프로젝트에서 포드를 분리하십시오.
pod deintegrate
Cocoapods-Clean 플러그인
프로젝트에서 포드를 분리 한 후 터미널에서 다음 명령을 사용하여 완전히 청소하십시오.
pod clean
위 작업을 완료 한 후에도 여전히 Podfile이 프로젝트 디렉토리에 남아 있어야합니다. 수동으로 삭제하거나 터미널에서 다음 명령을 사용하십시오.
rm Podfile
그게 다야 ... 이제 프로젝트에 포드가 없어야합니다.
시스템에서 Cocoapod 제거
어떤 방법 으로든 터미널에서 다음 명령을 사용하여 시스템에서 코카 포드를 제거 / 제거하십시오.
sudo gem uninstall cocoapods
코카 포드를 자동으로 제거합니다.
감사. 이것이 도움이 되었기를 바랍니다.
더 쉬운 방법이 있다고 생각합니다.
허용 된 답변으로 편집 한 것처럼 이제 타사 플러그인 cocoapods-deintegrate를 사용할 수 있으며 CocoaPods 핵심 팀 구성원이 만들었 기 때문에 신뢰할 수 있습니다.
그러나 여전히 일부 파일이 남아 있습니다.
Podfile
Podfile.lock
Workspace
프로젝트에서 수동으로 제거 할 수 있지만 cocoapods-clean 덕분에 청소를 도와주는 다른 도구도 있습니다 .
마지막으로, 제거 작업이 아직 완료 cocoapods-clean
되지 않았습니다.를 정리하지 말고 Podfile
다음을 실행하십시오.
rm Podfile
건배!
제거하기 전에 프로젝트를 백업해야합니다!
pod deintegrate
이 cmd 후에 프로젝트에 Cocoapod의 흔적이 남지 않았습니다.
그러나 포드 프로젝트를 참조하는 작업 영역은 여전히 남아 있으므로 수동으로 3 개 미만의 파일을 제거해야합니다.
xx.xcworkspace
Podifle
Podfile.lock
그런 다음 프로젝트를 다시 사용할 수 있습니다.
즐기세요!
CocoaPod 버전 = 1.2.0 테스트
Keith의 답변은 훌륭합니다. Cocoapods 0.36 이 Dynamic Frameworks 를 지원하기 시작 했기 때문에 지적하고 싶습니다. 'use_frameworks!'를 사용하는 경우 싶습니다. 'Podfile'에서 Cocoapod를 제거하려면 다음을 수행해야합니다.
Build Phases
삭제 Embed Pods Frameworks
단계입니다.Pods
내부에서 처리하는 다른 파일이 있으면 Build Phases
삭제하십시오.
개발자가 직면 할 수있는 두 가지 측면이있을 수 있습니다.
첫 번째 경우에는 'pod deintegrate'를 사용해야하고 위의 답변에서 언급 된 몇 가지 단계를 수행해야합니다.
두 번째 경우, pod 파일에서 사용 가능한 매우 간단한 방법으로 설치된 특정 프레임 워크를 제거하려면 pod install 명령을 제거하고 실행하려는 프레임 워크를 주석으로 처리하십시오.
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
target 'ProjectName' do
# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
pod 'iCarousel', '~> 1.8'
# pod 'Facebook-iOS-SDK', '~> 4.1'
# pod 'ParseFacebookUtilsV4', '~> 1.11'
# pod 'Parse', '~> 1.14'
end
여기서 페이스 북 및 파싱 프레임 워크 (포드를 사용하여 설치)를 제거하고 iCarousel이 아닌 위의 포드 파일을 업데이트 한 이유는 다음과 같습니다.
이제 포드 설치를 실행하면 iCarousel이 프로젝트에 그대로 유지되고 페이스 북을 제거하고 구문 분석합니다.
Podfile
, Podfile.lock
의를Pods
폴더를 생성 된 작업 공간..xcodeproj
에서 Pods.xcconfig
파일에 대한 참조를 제거 하고libPods.a
하십시오.Pods.framework
.당신이하고 싶은 유일한 것은 이전에 사용했던 일부 라이브러리를 포함하는 것입니다. 포드 폴더에있는 폴더를 프로젝트로 드래그하면됩니다 (지원 파일 폴더에 저장하는 것을 선호합니다).
그것은 나를 위해 일했다.
작동하지 않으면
1. 프로젝트를 청소하십시오.
2. 파생 된 데이터를 삭제했습니다.
파생 데이터를 삭제하는 방법을 모르는 경우 여기로 이동
관련 포드 파일을 모두 삭제하십시오.
프로젝트 네비게이터에서 :
프로젝트 이름 (파란색 아이콘)-> 대상 (*)-> 빌드 단계-> "[CP] 포드 확인 manifests.lock"제거 ( "x"클릭)를 클릭하십시오.
(*) 프로젝트 이름을 클릭하면 사이드 바를 먼저 보려면 "프로젝트 및 대상 목록 표시"를 클릭해야 할 수 있습니다.
나는 프로젝트에서 CocoaPod를 삭제하기 위해 iv를 매우 간략하게 작성하려고합니다.
xcode에서 프레임 워크 참조를 제거하려면 다음을 수행하십시오.
podfile
이름을 제거.plist
하나의 포드를 제거하고 설치 한 다른 포드를 유지하려면 앱 디렉토리에서 podfile을 열고 제거하려는 포드 파일을 삭제하십시오. 그런 다음 터미널을 사용하여 앱 디렉토리로 이동하고 다음을 입력하십시오.
pod update
그러면 podfile에서 제거한 pod가 제거됩니다. 터미널에서 제거 된 것을 볼 수 있습니다 :
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
이 방법을 사용하면 포드 파일의 다른 포드에 대한 업데이트도 가져올 수 있습니다. 당신은 그것을 원할 수도 있고 원하지 않을 수도 있습니다.
pod install
포드를 추가 / 제거 할 때 사용해야합니다 . 이것은 당신이 여기에 말한 것처럼 업데이트를 피하기 위해 특별히입니다. 이 주제에 대한 '안내서'에 대한 자세한 내용은 ... guides.cocoapods.org/using/pod-install-vs-update.html
이 터미널의 명령을 사용하십시오 (새 줄의 시작 부분에 sudo를 사용하는 것을 잊지 마십시오).
open:YourDir YouName$ sudo gem uninstall cocoapods
Password:?
Remove executables:
pod, sandbox-pod
in addition to the gem? [Yn] Y
Removing pod
Removing sandbox-pod
Successfully uninstalled cocoapods-1.4.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-core (1.4.0)
cocoapods-deintegrate (1.0.2)
cocoapods-downloader (1.1.3)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.0)
cocoapods-try (1.1.0)
다음과 같이 목록을 하나씩 제거하십시오.
open:YourDir YourName$ sudo gem uninstall cocoapods-core
Successfully uninstalled cocoapods-core-1.4.0
open:YourDir YourName$ sudo gem uninstall cocoapods-trunk
Successfully uninstalled cocoapods-trunk-1.3.0
open:YourDir YourName$ sudo gem uninstall cocoapods-try
Successfully uninstalled cocoapods-try-1.1.0
open:YourDir YourName$ gem list --local | grep cocoapods
open:YourDir YourName$ sudo gem uninstall cocoapods-stats
Successfully uninstalled cocoapods-stats-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-search
Successfully uninstalled cocoapods-search-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-downloader
Successfully uninstalled cocoapods-downloader-1.1.3
open:YourDir YourName$ sudo gem uninstall cocoapods-plugins
Successfully uninstalled cocoapods-plugins-1.0.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-deintegrate (1.0.2)
open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate
Successfully uninstalled cocoapods-deintegrate-1.0.2
open:YourDir YourName$ sudo gem uninstall cocoapods-stats
Successfully uninstalled cocoapods-stats-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-search
Successfully uninstalled cocoapods-search-1.0.0
open:YourDir YourName$ sudo gem uninstall cocoapods-downloader
Successfully uninstalled cocoapods-downloader-1.1.3
open:YourDir YourName$ sudo gem uninstall cocoapods-plugins
Successfully uninstalled cocoapods-plugins-1.0.0
open:YourDir YourName$ gem list --local | grep cocoapods
cocoapods-deintegrate (1.0.2)
open:YourDir YourName$ sudo gem uninstall cocoapods-deintegrate
Successfully uninstalled cocoapods-deintegrate-1.0.2
더 이상 분해 할 필요가 없다고 생각합니다. 터미널에서 다음 명령으로 할 수있었습니다.
포드 설치
더 이상 podfile에없는 것을 자동으로 제거했습니다.