プロジェクトからCocoaPodを削除する正しい方法は何ですか? CocoaPod全体を削除したいのですが。私のクライアントによって課されたいくつかの制限のために、私はそれを使うことができません。 xcworkspaceの代わりにxcodeprojを1つだけ持つ必要があります。
プロジェクトからCocoaPodを削除することは可能ですが、現在CLIによって自動化されていません。まず最初に、あなたが持っている唯一の問題がxcworkspace
を使うことができないのであれば、--no-integrate
を生成するがワークスペースは生成しない Pods.xcodeproj
フラグを使うことでxcodeproj
sだけでCocoaPodsを使用できます。その後、このxcodeproj
をメインのxcodeproj
のサブプロジェクトとして追加できます。
あなたが本当にすべてのCocoaPods統合を削除したいのなら、あなたはいくつかのことをする必要があります:
_ note _ これらのことのいくつかを誤って編集すると、メインプロジェクトが壊れる可能性があります。念のため、プロジェクトをソース管理にチェックインすることを強くお勧めします。また、これらの指示は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
フェーズを削除します。これらのステップの後、あなたはCocoaPodを統合する前に存在していた単一のxcodeproj
で設定されるべきです。私が何かを逃したならば、私に知らせてください、そして、私はこれを編集します。
また、CocoaPodを改善する方法についての提案を常に探しているので、問題がある場合はそれらを私たちの issue trackerに提出してください それらを修正する方法を考え出すことができます。
_編集_
表示 のJack Wuによるコメントには、これらのステップを自動化できるサードパーティのCocoaPodsプラグインがあります。 ここ で見つけることができます。これはサードパーティ製のプラグインであり、CocoaPodsがアップデートされたときにアップデートされるとは限りません。問題が問題にならないように、それはCocoaPodsコアチームメンバーによって作られていることにも注意してください。
pod deintegrate
とpod clean
は、プロジェクト/リポジトリからCocoaPodを削除するための2つの指定コマンドです。
これが完全なコマンドセットです。
$ Sudo gem install cocoapods-deintegrate cocoapods-clean
$ pod deintegrate
$ pod clean
$ rm Podfile
元のソリューションはここで見つかりました: https://medium.com/@icanhazedit/remove-uninstall-deintegrate-cocoapods-from-your-xcode-ios-project-c4621cee5e42#.wd00fj2e5
pod deintegrate
に関するCocoaPodドキュメント: https://guides.cocoapods.org/terminal/commands.html#pod_deintegrate
プロジェクトからポッドを完全に削除するには、まず2つのことをインストールする必要があります。それらは次のとおりです(すでにシステムにココアポッドがインストールされていると仮定します)。
インストール
Cocoapods-Deintegrateプラグイン
それをインストールするためにあなたの端末上で次のコマンドを使用してください。
Sudo gem install cocoapods-deintegrate
Cocoapods-Cleanプラグイン
それをインストールするためにあなたの端末上で次のコマンドを使用してください。
Sudo gem install cocoapods-clean
使用方法
まずはじめに、いつものように..を使用してプロジェクトフォルダに移動します。
cd (path of the project) //Remove the braces after cd
次のようにそれを完全に削除するために今これらの2つのプラグインを使用してください..
Cocoapods-Deintegrateプラグイン
最初にあなたのプロジェクトからポッドを分解するためにあなたの端末上でこの次のコマンドを使用してください。
pod deintegrate
Cocoapods-Cleanプラグイン
あなたのプロジェクトからのポッドの分解後、それを完全にきれいにするためにあなたの端末上で次のコマンドを使用してください。
pod clean
上記のタスクを完了した後、Podfileはまだプロジェクトディレクトリに残っているはずです。それを手動で削除するか、または端末で次のコマンドを使用してください。
rm Podfile
それはそれだ...今、あなたはポッドからあなたのプロジェクトを解放している...掃除済み。
システムからCocoapodを削除しています。
いずれにせよ、あなたのシステム上でcoca-podをアンインストール/削除するためにあなたの端末上で次のコマンドを使用しようとしてください。
Sudo gem uninstall cocoapods
それはコカ・ポッドを自動的に取り除きます。
ありがとう。これが役に立ったことを願っています。
もっと簡単な方法があると思います。
受け入れられた答えによって編集されるように、今あなたはサードパーティプラグインを使うことができます cocoapods-deintegrate 、それはCocoaPodsコアチームメンバーによって作られているのでそれは信頼できます。
しかし、まだいくつかのファイルが残っています。
Podfile
Podfile.lock
Workspace
あなたはそれらをあなたのプロジェクトから手動で削除することができますが、それらをきれいにするのを助けるための別のツールもあります、ありがとう cocoapods-clean 。
最後に、アンインストール作業はまだ完了していません、cocoapods-clean
はPodfile
をきれいにしないで、ただ実行してください:
rm Podfile
乾杯!
削除する前に、あなたは自分のプロジェクトのバックアップがあることを確認するべきです!
pod deintegrate
このコマンドを実行しても、プロジェクトにCocoapodの痕跡は残りません。
しかし、Podsプロジェクトを参照しているワークスペースはまだ残っているので、3つ以下のファイルを手動で削除する必要があります。
xx.xcworkspace
Podifle
Podfile.lock
それからあなたはあなたのプロジェクトを再び使うことができます。
楽しむ!
テストCocoaPodバージョン= 1.2.0
私はこれらすべての答えを試してみましたが、それでもまだうまくいかないでしょう、結局私は試してみました:
pod deintegrate
pod install
これは実際にうまくいった!
少なくとも私の場合は、ビルドフェーズからすべてのpodスクリプトを削除して追加し直す必要があるようです。
Keithの答えは素晴らしいです - 'use_frameworks!'を使っているなら、 Cocoapods 0.36 がDynamic Frameworksをサポートし始めているからです。あなたの 'Podfile'で、あなたがCocoapodを削除したいのなら、あなたはこれをしなければなりません:
Build Phases
削除Embed Pods Frameworks
フェーズ。開発者が直面する可能性がある2つの側面があります。
最初のケースでは、 'pod deintegrate'を使用し、上記の回答に記載されているいくつかの手順に従う必要があります。
2番目のケースでは、あなたが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
ここで私はFacebookやParsフレームワーク(Podを使ってインストールされた)をアンインストールしたいのですが、iCarouselではありません。だからこそ私は上記のようにPodファイルを更新しました。
今私がpod installを実行すれば、それは私のプロジェクトの中にあるようにiCarouselを保ち、facebookを削除してパースします。
Podfile
、Podfile.lock
、Pods
フォルダ、そして生成されたワークスペースを削除することです。.xcodeproj
で、Pods.xcconfig
ファイルとlibPods.a
ファイルへの参照を削除します。Pods.framework
を削除してください。あなたがしたいと思う唯一のことはあなたが以前に使用していたライブラリのいくつかを含むことです。これを行うには、Podsフォルダー内の任意のフォルダーをプロジェクトにドラッグするだけです(私はそれらを私のSupporting Filesフォルダーに入れることを好みます)。
それは私のために働きました。
うまくいかない場合は、試してみてください
1。プロジェクトをきれいにする。
2。派生データを削除しました。
派生データを削除する方法がわからない場合は、ここに進んでください。
.plist
からpodfile
という名前を削除します1つのPodを削除して、インストールした可能性のある他のPodを残したい場合は、アプリケーションディレクトリのPodファイルを開き、削除したいPodファイルを削除します。それからterminalを使ってあなたのアプリディレクトリに移動して入力してください:
pod update
これにより、削除したポッドがポッドファイルから削除されます。端末から削除されているのがわかります。
Analyzing dependencies
Removing FirebaseUI
Removing UICircularProgressRing
このメソッドはあなたのポッドファイルの他のポッドへの更新も引き出すことに注意してください。あなたはそれを望んでいるかもしれないし望んでいないかもしれません。
私は(私のプロジェクトからCocoaPodを削除するために)ivをとても簡単に書いたつもりです。
Xcodeからフレームワーク参照を削除するには
私はCocoaPodsアプリ(バージョン1.5.2)を使ってプロジェクト内の私のポッドを削除することができました。その後、フォルダ内のpodfile、podfile.lock、xcworkspaceファイルのみを削除しました。
これらのターミナルのコマンドを使ってください(新しい行の始めに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
関連するポッドファイルをすべて削除します。
xx.xcworkspace Podifle Podfile.lock
and Goto Targets - >ビルドフェーズ - >ここで[cp] check pod manifests.lockを削除します。