私は現在、Carthageをパッケージマネージャとしてサポートしているライブラリを探しています。私はすでにそれを統合するために探しているプロジェクトは、いくつかのCocoaPodsの依存関係があります。誰かがこれらのマネージャーを同時に使ってみましたか?同じプロジェクトでCarthageとCocoaPodを使用
私は悪い考えとして私を襲ってきますが、これが実際のケースであるかどうか聞いてみたいと思います。
私は現在、Carthageをパッケージマネージャとしてサポートしているライブラリを探しています。私はすでにそれを統合するために探しているプロジェクトは、いくつかのCocoaPodsの依存関係があります。誰かがこれらのマネージャーを同時に使ってみましたか?同じプロジェクトでCarthageとCocoaPodを使用
私は悪い考えとして私を襲ってきますが、これが実際のケースであるかどうか聞いてみたいと思います。
主な問題は、CocoaPodsとCarthageが互いに認識していないことです。これは、CocoaPodsによって管理される依存関係とCarthageによる依存関係が共通の依存関係を共有する場合、競合が発生する可能性があることを意味します。が発生します。
Carthageでは、プロジェクトに手動でフレームワークを追加する必要があります。つまり、共有依存関係をリンクしたり、CocoaPodによって追加されたフレームワークに頼ったりすることはできませんが、依存関係の解決には2つの依存関係それがどのように機能するかは明確ではありません。
これは、両方を使うことができないという固有の理由はなく、インクルードするライブラリに依存性がほとんどまたはまったくない場合は、ライブラリをインクルードするのではなく、サブモジュールまたはソースをコピーすることもできます。
可能であれば、カルタゴを介して他の依存関係を含めるか、ライブラリのポッドスペックを作成してCarthageまたはCocoaPodsを排他的に使用できるようにすることをお勧めします。
それは私が想像していたものです...両方のマネージャのデープを一緒にインストールしようとしましたが、問題に遭遇しませんでした。しかし、私はカルテージ専用ライブラリのポッドスペックを作っていました。私のデープを一方的に扱いたいと思っていたからです。 –
さらに、あなたのレポにPodfileがあり、Travis-CIを使用している場合、Travisは.travis.ymlで明示的に指示しなくても、ポッドをインストールしたいと考えます。しかし、 .podspecしか持っていない場合は、Travisで 'carthage update --platform' –