CocoaPodsをプロジェクトから削除する方法は?


472

プロジェクトからCocoaPodsを削除する正しい方法は何ですか?CocoaPod全体を削除したい。クライアントの制限により、使用できません。xcworkspaceではなく、xcodeprojが1つだけ必要です。


12
覚えておいてください。次回はgitを使用して、ロールバックしてください。
Dan Rosenstark、2016

35
実行pod deintegrate
onmyway133

回答:


1031

CocoaPodsをプロジェクトから削除することは可能ですが、現在のところCLIでは自動化されていません。まず、使用できる唯一の問題がを使用できない場合は、ワークスペースではなくを生成するフラグを使用して、s xcworkspaceだけでCocoaPodsを使用できます。次に、これをサブプロジェクトとしてメインに追加できます。xcodeproj--no-integratePods.xcodeprojxcodeprojxcodeproj

CocoaPods統合をすべて削除したい場合は、いくつかのことを行う必要があります。

これらを正しく編集しないと、メインプロジェクトが壊れる可能性があります。念のため、プロジェクトをソース管理にチェックインすることを強くお勧めします。また、これらの手順はCocoaPodsバージョン用であり0.39.0、新しいバージョンで変更される可能性があります。

  1. スタンドアロンファイル(Podfile Podfile.lockおよびPodsディレクトリ)を削除する
  2. 生成されたを削除 xcworkspace
  3. xcodeprojファイルを開き、Pods.xcconfigおよびlibPods.aFrameworksグループ内の)への参照を削除します
  4. の下で、フェーズをBuild Phases削除します。Copy Pods ResourcesEmbed Pods FrameworksCheck Pods Manifest.lock
  5. これは明白に思えるかもしれませんが、サードパーティのライブラリを他の方法で統合するか、コードからそれらへの参照を削除する必要があります。

これらの手順の後、xcodeprojCocoaPodsを統合する前に存在していたシングルを設定する必要があります。見逃した場合はお知らせください。編集します。

また、我々は常にあなたが問題を持っている場合は、私たちにそれを提出してくださいようCocoaPodsを改善する方法についての提案を探している問題追跡、我々はそれらを修正する方法を考え出すことができるように!

編集

示すコメントでジャック・ウーでそれがあなたのためにこれらの手順を自動化することができますプラグインサードパーティのCocoaPodsがあります。それは見つけることができるここに。これはサードパーティのプラグインであり、CocoaPodsの更新時に常に更新されるとは限りません。また、問題が問題にならないように、CocoaPodsコアチームメンバーによって作成されていることにも注意してください。


この投稿を神に感謝します。私はこの悪夢にうんざりしました... ありがとう
Fattie

1
(私の場合-2014年3月-これは「Parse / Facebookのライブラリ/アーキテクチャ設定」の狂気に関連しています。誰かが読むのを助けるかもしれません。再び感謝します。)
Fattie

私はこれをやろうとしていますが、その理由は、すべてのポッドプロジェクトが変更されていない場合でも定期的に再コンパイルする必要があるため、ビルド時間が大幅に遅くなったためです。
theLastNightTrain 2014

24
それは私のために素晴らしい仕事をするので、ここでこれを残すために行く:github.com/kylef/cocoapods-deintegrate
ジャック・

1
Xcodeで100万の警告が表示される理由を誰かが疑問に思っている場合、それはgit / svnで変更をコミットする必要があるためです
Achintya Ashok

352

pod deintegratepod cleanは、プロジェクト/リポジトリからCocoaPodを削除するための2つの指定されたコマンドです。

コマンドの完全なセットは次のとおりです。

$ 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 deintegratehttps : //guides.cocoapods.org/terminal/commands.html#pod_deintegrate


3
おかげで、私は(ほぼ)動作します。これらのコマンドの後、コンパイル中にリンカーエラーが発生しました。解決策は、ターゲットから「ポッドフレームワーク」を削除することでした->ビルドフェーズ
uldo

バージョン1.0.0beta8以降、Cocoapodは次のような名前の奇妙なビルドフェーズを作成します。PoポッドManifest.lockを確認します。分解後に削除されているかどうかを確認します。
Timur Bernikovich

cocoapodsがインストールされていないマシンを使用している場合、podコマンドが機能する前にgem install cocoapodsを実行する必要があることに注意してください。これは、プロジェクトを新しいシステムに復元またはコピーした場合に発生する可能性があります。
NoelHunter 2017年

65

プロジェクトからポッドを完全に削除するには、最初に2つのものをインストールする必要があります...これらは次のとおりです(システムにすでにcocoa-podsがインストールされていると仮定します)...

  1. Cocoapods-Deintegrateプラグイン
  2. Cocoapods-Cleanプラグイン

取り付け

  1. Cocoapods-Deintegrateプラグイン

    端末で次のコマンドを使用してインストールします。

    sudo gem install cocoapods-deintegrate
  2. Cocoapods-Cleanプラグイン

    端末で次のコマンドを使用してインストールします。

    sudo gem install cocoapods-clean

使用法

まず、いつものようにコマンドを使用してプロジェクトフォルダに移動します。

cd (path of the project) //Remove the braces after cd

次のように、これら2つのプラグインを使用して完全に削除します。

  1. Cocoapods-Deintegrateプラグイン

    ターミナルで次のコマンドを使用して、最初にポッドをプロジェクトから分解します。

     pod deintegrate

ポッドの分解

  1. Cocoapods-Cleanプラグイン

    プロジェクトからポッドを分解した後、ターミナルで次のコマンドを使用して完全にクリーンアップします。

     pod clean

    上記のタスクを完了した後も、Podfileがプロジェクトディレクトリに残っているはずです。手動で削除するか、ターミナルで次のコマンドを使用してください。

     rm Podfile

それだけです...これで、ポッドからプロジェクトが解放されました...クリーンアップされました。

システムからCocoapodsを削除します。

何らかの方法で、端末で次のコマンドを使用して、システムからcoca-podをアンインストール/削除してみてください。

sudo gem uninstall cocoapods

コカポッドが自動的に削除されます。

ありがとう。これがお役に立てば幸いです。


5
うわあ!他のプロジェクトがある場合でもpod clean 、ワークスペースを削除します!注意してください!

1
@charl単一のプロジェクトからポッドをクリーニングする場合、ワークスペースをクリアする必要があります...しかし、この方法は明らかに単一のワークスペースに関連付けられた複数のプロジェクトには適用できません.... :(
onCompletion

スポット!まさに私が欲しかったもの
Vigneshwaran.m

49

もっと簡単な方法があると思います。

承認された回答で編集されているように、サードパーティのプラグインcocoapods-deintegrateを使用できるようになりました。これは、CocoaPodsコアチームメンバーによって作成されているため、信頼できます。

しかし、まだいくつかのファイルが残っています:

Podfile
Podfile.lock
Workspace

プロジェクトから手動で削除することもできますが、cocoapods-cleanのおかげで、それらをクリーンアップするのに役立つ別のツールもあります。

最後に、アンインストール作業はまだ完了してcocoapods-cleanいません。クリーンアップせず、次のコマンドをPodfile実行してください:

rm Podfile

乾杯!

削除する前に、プロジェクトのバックアップがあることを確認してください!


1
deintegrateの問題は、ココアポッドと同様に、宝石とルビーに依存していることです。現在、El Capitanと宝石の問題のため、ポッドを削除しようとしています。アンインストーラーは、スタンドアロンバイナリとして使用できる必要があります。
nheagy 2015

分解の成功後に問題が発生した場合は、ここに感謝し、詳細を説明します
Adam Johns、

「cocoapods-deintegrate」を使用してスムーズでしたおかげで
shaikh

46

pod deintegrate

このコマンドの後、プロジェクトにCocoapodの痕跡は残りません。

ただし、ポッドプロジェクトを参照するワークスペースはまだ残っています。以下の3つのファイルを手動で削除する必要があります。

xx.xcworkspace
Podifle
Podfile.lock

その後、プロジェクトを再び使用できます。

楽しんで!

CocoaPodバージョン= 1.2.0のテスト


ナイス、すでにほとんどのものを手動で削除した後もここで働いた。
ブレインレイ2017

ワークスペースを核崩壊させる。必要な場合は注意してください。
SafeFastExpressive

1
@mistdonあなたは二度目の命を救った。
Dheeraj D

20

私はこれらすべての答えを試しましたが、それでもビルドされませんでした、最終的に私は試しました:

pod deintegrate
pod install

実際に機能しました!

少なくとも私の場合は、ビルドフェーズからすべてのポッドスクリプトを削除し、それを機能させるために再度追加する必要があるようです。


ポッドが統合されたプロジェクトの名前を変更した場合に特に役立ちます。
bisma

12

キースの答えは素晴らしいです。「use_frameworks!」を使用している場合、Cocoapods 0.36Dynamic Frameworksをサポートし始めているので、はそれを指摘したいだけです。「Podfile」でCocoapodを削除する場合は、次のようにする必要があります。

  • 下のBuild Phases削除Embed Pods Frameworks相。

正しい。これを行わないと、ビルドエラーが発生します。
Zia

Pods内部で処理している他のファイルがある場合は、Build Phases それらも削除します。
luckyging3r 2016年

8

開発者が直面する可能性のある側面は2つあります。

  • プロジェクトからポッドを完全に削除したいか
  • 開発者はポッドからプロジェクトから特定のフレームワークをアンインストールしたいと考えています。

最初のケースでは、「pod deintegrate」を使用して、上記の回答で述べられているいくつかの手順に従う必要があります。

2番目のケースでは、インストールされている特定のフレームワークをアンインストールする場合、ポッドファイルで使用できる非常にシンプルな方法で、アンインストールするフレームワークにコメントを付けて、ポッドインストールコマンドを実行します。

# 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ではなく、facebookと解析フレームワーク(ポッドを使用してインストールされたもの)をアンインストールしたいので、上記のようにポッドファイルを更新しました。

これでポッドインストールを実行すると、プロジェクト内のiCarouselが保持され、Facebookが削除されて解析されます。


4
  1. あなたがする必要があることを最初に削除されPodfilePodfile.lockPodsフォルダ、および生成されたワークスペースを。
  2. 次に、で、ファイル.xcodeprojへの参照とPods.xcconfigファイルを削除しlibPods.aます。
  3. [Build Phases]プロジェクトタブ内で、[Check Pods Manifest.lock]セクション(開いている)、[Copy Pods Resources]セクション(下)およびEmbed Pod Resources(下)を削除します。
  4. を削除しPods.frameworkます。

あなたがしたい唯一のことは、以前に使用していたライブラリのいくつかを含めることです。これを行うには、ポッドフォルダー内のフォルダーをプロジェクトにドラッグします(サポートファイルフォルダーに配置することをお勧めします)。

それは私のために働いた。


4
$ sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile

すべてのココアポッドを取り除いた後gem uninstall cocoapods-deintegrate cocoapods-clean
Onur Tuna


2

関連するすべてのポッドファイルを削除します。

  • xx.xcworkspace
  • Podfile
  • Podfile.lock

そしてプロジェクトナビゲーターで:

プロジェクト名(青いアイコン)をクリックします->ターゲット(*)->ビルドフェーズ->「[CP] Check Pods manifests.lock」を削除します(「x」をクリックします)

(*)プロジェクト名をクリックします。サイドバーを最初に表示するには、[プロジェクトとターゲットリストを表示]をクリックする必要がある場合があります。


また、「Pods」フォルダーは1つしか使用していないため削除しました。それ以外の場合は、「Pods」フォルダー内の1つの「NameOfThePod」フォルダーを削除します。
Neph

1

ivで行った処理を非常に簡単に記述します(プロジェクトからCocoaPodsを削除するため)。

  1. 追加されたフォルダー(フレームワーク、ポッドなど)を削除する
  2. 追加されたファイルを削除します(PROJECT.xcworkspace、PodFile、PodFile.lock、Pods-PROJECT.debug.xcconfig、Pods-PROJECT.release.xcconfig、...)
  3. 元のファイル(PROJECT、PROJECT_Tests、PROJECT.xcodeproj)をそのままにしてください
  4. xcodeのプロジェクトからフレームワーク参照を削除する

xcodeからフレームワーク参照を削除するには:

  1. プロジェクトナビゲーターを使用する
  2. プロジェクトを選択
  3. ターゲットプロジェクトを選択
  4. 上部のオプションからビルドフェーズを選択します
  5. デフォルトのグループ(ターゲットの依存関係、ソースのコンパイル、ライブラリとリンクされたバイナリ、バンドルリソースのコピー)のままにし、その他のグループを削除します


1

1つのポッドのみを削除し、インストールした可能性のある他のポッドを残したい場合は、アプリディレクトリでpodfileを開き、削除するポッドを削除します。次に、ターミナルを使用してアプリディレクトリに移動し、次のように入力します。

pod update

これにより、削除したポッドがpodfileから削除されます。ターミナルで削除されたことがわかります:

Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing

このメソッドは、ポッドファイル内の他のポッドへの更新もプルすることに注意してください。あなたはそれを望まないかもしれません。


ドキュメントに従って、pod installポッドの追加/削除に使用する必要があります。これは特に、ここで言ったように更新を回避するためです。あなたは、この非常にトピックに関するより多くの彼らの「ガイド」で読むことができます... guides.cocoapods.org/using/pod-install-vs-update.html
マーク・A. Donohoe

0

次のターミナルのコマンドを使用します(新しい行の先頭で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)

次のようにリストを1つずつアンインストールします。

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

0

CocoaPodsアプリ(バージョン1.5.2)を使用して、プロジェクト内のポッドを削除できました。その後、フォルダー内のpodfile、podfile.lock、xcworkspaceファイルのみを削除しました。



0

もう分解する必要はないと思います。ターミナルで次のコマンドを使用してそれを行うことができました:

ポッドインストール

ポッドファイルに存在しないものは自動的に削除されました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.