web-dev-qa-db-ja.com

CocoaPodsを使用する利点は何ですか?

いくつかのファイルをプロジェクトにドラッグするだけで、多くのポッドを「手動で」インストールできます。私には、これはポッドをインストールするためのより便利な方法のように思えます。

CocoaPodsを使用した場合、PodFileを作成して一連のコマンドを実行し、フレームワークを「リンクされたフレームワークとライブラリ」セクションに追加して、再構築する必要があります。それは大変な作業のようです。それでも、CocoaPodsはポッドをインストールするための「推奨される」方法です。

CocoaPodsが更新を検出できることを知っています。ただし、Xcodeを開くと、ポッドの1つが古くなっていることを示すメッセージがポップアップ表示されるわけではありません。コマンドを手動で使用して、更新を確認しました。つまり、ポッドをインストールする理由は、ポッドが提供する機能の1つを使用したいが、自分で作成したくないためです。したがって、新機能を備えたアップデートは、おそらく私にはあまりメリットがありません。

また、AdMob SDKのような大規模なライブラリは、アプリの実行時にアップデートが利用可能であることを思い出させます。

更新を検出する以外に、CocoaPodsの利点はありますか?

P.S.新しいバージョンのCocoaPodsのバグが原因で、プロジェクトが数回破損しました。これは、ドラッグインされたファイルでは発生しません...

18
Sweeper

プロジェクトの依存関係を手動で管理するよりもCocoapodを使用することには多くの利点があります。私はそれらのいくつかをリストします

  • Libは、Cocoapodが自動的に処理する別の依存関係を参照する場合があります。手動で、それぞれをダウンロードする必要があります。
  • Libには、OSバージョン、フレームワークのインポートなどの特定の要件があります。手動でフレームワークを追加するのはObjective C .. Swiftにはありません。Cocoapodは獣だったので、当時は。
  • 手動で追加された依存関係は、別のコーダーでは簡単に見つけられない場合があります。ポッドを使用すると、ポッドスキームまたはPodfileを実行して、使用したものを理解できます。
  • 以前のファイルを削除して新しいファイルを追加する必要がある場合、libを新しいバージョンに置き換えるのは手動で面倒です-クリック数が多すぎます。 pod installは、1つのコマンドを使用して自動的に実行します。

また、プロジェクトでのポッドの初期設定は別として、ライブラリを追加する他のすべての手順は、ライブラリを手動で追加するために必要な技術的知識よりも簡単です。

17
Shubhank

CocoaPodsには、すべての依存関係を設定するための1つのコマンド、1つのポッドファイル、使用するすべてのライブラリの一覧表示、およびcocoaPodsが行うすべてのポッドインストールを実行するコマンドが用意されています。

同じフレームワークを手動で設定するのに苦労する必要はもうありません。更新があった場合は、カカオポッドも自分で管理します。

すべてのフレームワークが事実上1つのコマンドに含まれているため、プロジェクトの共有/アップロードは簡単です。以前はフレームワークを追加した後、アプリに追加されたすべてのフレームワークを追加してプロジェクト全体を共有する必要があり、一部のファイルがリンクされていないか、適切に共有されていない場合-他の開発者は、これらのエラーを解決するために多大な時間を浪費しています。

ライブラリの検索パス、ヘッダーパス、フレームワークはすべてCocoaPodsによって処理されます。以前は、開発者は、消費が多く管理が難しいようなものに注意を払う必要がありました。

また、フレームワーク全体をチェックするのではなく、プロジェクトでライブラリが使用した1つのファイルを確認し、GitHubのさまざまな場所ですべてを検索します。

CocoaPodsを使用すると、開発者は依存関係を簡単にインストールでき、簡単な方法でコーディングできます。

この情報がお役に立てば幸いです:)

ハッピーコーディング!

6
Anita

ShubhankとAnitaの答えに加えて、私自身の経験からさらにいくつかのポイントを追加しています。

  • Light Repo:コードをコミットし、新しいユーザーがコードをプルするたびにpodinstallを使用してpodをフェッチすることをお勧めします。 Cocoa posは、コードフォルダーを軽量にします。ポッドに変更を加える必要がある場合は、PRリクエストを行い、それを更新して、他のユーザーがあなたのすばらしい作業から利益を得ることができるようにすることを常にお勧めします。
  • 依存関係:質問の内容を考慮すると、Objective-c、Swift、開発は初めてだと思います。プロジェクトのビルド設定を実際に確認し、必要なヘッダー検索パスとフレームワーク検索パスを設定する必要がある場合は、cocoapodを気に入るはずです。また、フラグ、それらの多く、リンカーフラグ、ラ​​イブラリアンフラグを設定する必要がある場合もあります。 [〜#〜] xmpp [〜#〜]OpenCVのようなファットライブラリを使用しようとしています。
  • 集中化:機能を統合する必要がある場合、これは一般的であり、多くの人が同様の問題に直面しているに違いないと思います。 cocoapod.org にアクセスして、機能を検索します。ほとんどの場合、統合して使用できる同様の作業を行う優れたライブラリを入手できます。
  • ドキュメント:Cocoapodsは詳細を提供し、それを統合するために必要な場合もあります。なぜそれが必要なのか。
  • 削除:今日、私はpubnubを削除し、コードにXMPPを統合しました。これは、手動で行う必要がある場合、すべての処理を行うと、はるかに面倒で時間がかかります。検索パスとフラグ。
  • 時間:上記のすべてを使用すると、ライブラリの統合時間を指数関数的に節約できます。これを使用して、より美しいポッドを統合し、製品を美しく見せることができます。

詳細については、WebサイトからのFAQリンクを参照してください: https://guides.cocoapods.org/using/faq.html

3
rptwsthi