まず、use_frameworkを有効にしました。 Podfileで複数のフレームワークサブプロジェクトでCocoaPodsを使用する方法
メインプロジェクトがMAIN_APPで、2つのサブプロジェクトがFRAMEWORK_AとFRAMEWORK_Bであるとします。
MAIN_APPにはFRAMEWORK_AとFRAMEWORK_Bが必要です.FRAMEWORK_BにはFRAMEWORK_Aも必要です。
すべてのプロジェクト/ターゲットは、サードパーティライブラリを管理するためにCocoaPodを使用しています。今の
は、私のPodfileは次のようになります。
target :MAIN_APP do
project 'MAIN_APP'
pod 'PodA'
end
target :FRAMEWORK_A do
project 'FRAMEWORK_A'
pod 'PodB'
end
target :FRAMEWORK_B do
project 'FRAMEWORK_B'
pod 'PodC'
end
私は手動でMAIN_APPの設定を構築するためにFRAMEWORK_B、およびFRAMEWORK_AとFRAMEWORK_Bの両方の設定を構築するためにFRAMEWORK_Aを追加しました。
すべてのコードがコンパイルされますが、MAIN_APPを実行するとPodBのFrameworkをロードできないため、MAIN_APPがクラッシュします。
私は手動でMAIN_APPとFRAMEWORK_BにPodBを追加することができますが、この種のターゲット依存関係をPodfileで定義することは可能ですか?
ところで、ときpod install
、私は警告だ:[!]
をPodfileはPodfileは、ホスト・ターゲット(フレームワークを埋め込むターゲット)を含まないためのフレームワークの目標を、含まれています。
このプロジェクトがフレームワーク開発用である場合、このメッセージは無視できます。それ以外の場合は、これらのフレームワークを埋め込んだターゲットをPodfileに追加して、このメッセージを遠ざける(例:テストターゲット)。
私が知っているように、私は次のようにホスト・ターゲットのためのネストされたターゲットを使用することができます。CocoaPodsセットアップMAIN_APP FRAMEWORK_Aを使用してFRAMEWORK_Aからポッドの依存関係を継承しますので
target :FRAMEWORK_A
target :MAIN_APP
end
end
。しかし、私は複数の依存関係のようにそれをすることはできないようです:
target :FRAMEWORK_A
target :MAIN_APP
end
end
target :FRAMEWORK_B
target :MAIN_APP
end
end
ターゲット:MAIN_APPは2回宣言することができません。
ポッド依存関係をPodfileの関数として定義するのではなく、すべてのターゲットにインクルードするより優れたソリューションがありますか?
進捗状況?あなたはこれを解決しましたか? – zaxy78
@ zaxy78別のターゲットに追加されているにもかかわらず、あるプロジェクトにあると気がついたので、ターゲットではなく別のサブプロジェクトに分割しました。ヘッダーは "Header.h"でインポートできますが、フレームワークからヘッダをインポートするために ''を使用して強制したい。 –
私はXcodeとCocoaPodの最新バージョンに移行したので、それと似た構造をしています。現在、このスタイルのpodfileを最適に管理する方法をデバッグしようとしています。 –