他のいくつかのサードパーティ フレームワークに依存する Swift フレームワークを作成しています。これらの他のフレームワークは両方とも、Carthage と Cocoapods をサポートしています。
Carhage と Cocoapods の両方を使用して、独自のフレームワークのインストールをサポートする方法はありますか? それとも、達成できないだけで、1つを選択する必要がありますか?
フレームワークを CocoaPods と Carthage の両方で確実に利用できるようにすることができます。これは、ユーザーが好みのソリューションを使用できるようにするためにお勧めする方法です。また、Carthage で動作するようにフレームワークを設定すると、これらのソリューションのいずれも使用せずにライブラリを使用したいユーザーにとって、はるかに簡単になることにも注意してください。
大まかに言うと、CocoaPods の場合、そこに依存関係をリストする podspec を作成する必要があります。このようにして、CocoaPods はそれらのダウンロードと構成を管理し、他のユーザーの依存関係に対してそれらを解決します。詳しくはこちらをご覧ください。
Carthage の場合、サポートするプラットフォームのフレームワーク ターゲットを使用してプロジェクトを構成し、Cartfile に依存関係を追加します。詳細はこちら
両方を組み合わせることは、実際には難しくありません。私のフレームワークではExample
、Pod
ディレクトリを含む CocoaPods テンプレートから始めました。サンプル プロジェクトでは、新しいCocoa Touch Framework
ターゲットを作成し、このターゲットが共有 (製品 - スキーム - 管理スキーム) であることを確認し、Pod/Classes
ディレクトリのコンテンツをプロジェクトにドラッグしました (チェックを外して、この新しく作成したフレームワークにのみCopy items if needed
追加しました)。Target Membership
これで十分なはずです。カルタゴはこの共有スキームを見つけて使用する必要があります。Carthage のフレームワークを使用する前に、変更をコミットして新しい git タグを作成する必要があることに注意してください。