12

Cocoapod外部ライブラリへのいくつかの依存関係で管理されている XCode ワークスペースがあります。それらの 1 つであるMTDatesNSDateは、NSDateComponentsプレフィックス付きのメソッド、または特定のプリプロセッサ マクロが定義されている場合はプレフィックスなしのいずれかで拡張されます (これが必要です) 。

コンパイルされたライブラリにプレフィックスのないメソッドを提供させるために、プリプロセッサ マクロ定義を配置できる場所がいくつかありますがCocoapod、プロジェクトの更新を要求するとすぐにすべてがリセットされるようです。 configs は Pod 仕様によって駆動されます。これらには以下が含まれます:

  • ポッドのターゲット ビルド設定
  • .xcconfigCocoapod のターゲット サポート ファイル内のポッドのプライベートファイル

ポッドの仕様を変更するには、独自のバージョンのライブラリを管理する必要がありcocoapods、新しいバージョンが登場したときにそれを更新する機能が失われます。私の質問はcocoapod、ポッドをフォークしてポッドの仕様自体を変更せずに、依存関係のプリプロセッサ マクロを指定する方法はありますか?

編集

これについては未解決の問題があり、それはすぐそこまで来ているようです。

4

4 に答える 4

11

この機能が利用できるようになりました。以下は、特定の構成に基づいてマクロを追加するために Podfile の下部に配置できるものの例です。

post_install do |installer_representation|
  installer_representation.project.targets.each do |target|
    if target.name == "Pods-TweaksBuildConfigurationsDemo-Tweaks"
      target.build_configurations.each do |config|
        if config.name == 'QA'
          config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)', 'FB_TWEAK_ENABLED=1']
        end
      end
    end
  end
end
于 2015-05-04T19:12:01.967 に答える