web-dev-qa-db-ja.com

Cocoapodsとは何ですか?

Cocoapodsとは何ですか? APIをインストールするアプリを開発する際に多くの開発者がPodsを使用しているのを見てきましたが、ファイルを手動でインポートできない理由を理解していません。彼らの目的は何ですか?

46
James

Cocoapods.orgから:

CocoaPodsは、Xcodeプロジェクトのライブラリの依存関係を管理します。

プロジェクトの依存関係は、Podfileと呼ばれる単一のテキストファイルで指定されます。 CocoaPodsは、ライブラリ間の依存関係を解決し、結果のソースコードを取得し、それをXcodeワークスペースにリンクしてプロジェクトをビルドします。

最終的に目標は、より集中化されたエコシステムを作成することにより、サードパーティのオープンソースライブラリの発見可能性と関与を改善することです。

プロジェクトリンク: link

仕様(サードパーティツール): link

スタートガイド: link

31
Shams Ahmed

「CocoaPodsは、SwiftおよびObjective-C Cocoaプロジェクトの依存関係マネージャーです。30,000以上のライブラリがあり、190万以上のアプリで使用されています。CocoaPodsは、プロジェクトをエレガントに拡張できます。 http://cocoapods.org

基本的に、サードパーティのライブラリ、フレームワークを製品に組み込むのに役立ちます。それらをセットアップしてプロジェクトを構成する方法を心配することはありません。

プロジェクトにファイルを含めることができないのはなぜですか?

  • これらはサードパーティであるため、新しいバージョンがあるたびにダウンロードしてプロジェクトにコピーする必要がありますか?たとえば、プロジェクトに10個のライブラリまたはフレームワークがある場合、更新する新しいバージョンがあるかどうかを確認するのにかかる時間を想像してみてください。何かが機能しない場合、最悪の場合、以前のバージョンに戻す必要がありますか?時間がかかり、面倒です。CocoaPodsを使用すると、単にpod updateおよび利用可能な新しいバージョンがあるものを更新します。

  • ある特定のライブラリのv1.1が必要な場合はどうしますか? Gitのコミット履歴をざっと見て、必要なものを見つけるのはどれくらい簡単でしょうか? CocoaPodsでは、単にpod 'AFrameworkLib', '1.1'

  • すべてのライブラリは、それらを機能させるために特定の構成セットを使用してプロジェクトをセットアップする必要があり、10個程度のライブラリに対して実行し、競合を修正すること自体が苦痛です。 CocoaPodsを使用すると、自動的に処理されます。

  • 最後になりましたが、そのライブラリの元の開発者にクレジットを提供するために使用しているすべてのサードパーティライブラリのライセンスを含める必要があります。 10個のライセンスドキュメントをコピーし、それらが最新であることを確認することを想像してください。 CocoaPodは、プロジェクトに確認ファイルを自動的に作成します。確認ファイルは、適切な場所に簡単に含めることができます。

35
Yas T.

CocoaPodsは、MavenのJavaプロジェクトで、Rubyで作成され、いくつかのRuby Gems。アイデアは、サードパーティのライブラリをプロジェクトに追加すると、新しいバージョンがあるかどうかを確認する必要がなくなるということです。CocoaPodsがそれを処理します。特定のバージョンのライブラリを非常に簡単に使用するには、次の手順に従ってください。詳細については、公式Webサイト http://cocoapods.org をご覧ください

  1. Macで次のコマンドを実行します

Sudo gem install cocoapods

  1. 希望するライブラリを探してcocoapods.orgを検索し、XcodeプロジェクトディレクトリにPodfileというテキストファイルを作成します。
   source 'https://github.com/CocoaPods/Specs.git'
   platform :ios, '8.0'

   pod 'AFNetworking'
   pod 'ARAnalytics', '~> 2.7'

ライブラリごとに、オプションで最小バージョンを指定できます。

  1. 次に、これらのコマンドを実行して、プロジェクトディレクトリ内のすべての必要なコンポーネントを開始します
pod setup
pod install
open YourApp.xcworkspace

これでプロジェクトの準備が整いました。上記の最後のコマンドは、YourApp.xcodeprojではなくYourApp.xcworkspaceを開いていることに注意してください。そうしないと、アプリのビルド時に「library not found -lPods」エラーが発生します。

6
CodeBrew