0

2つのターゲットを持つiOSプロジェクトがあります。1つ目は通常のアプリケーションとして使用することを目的としており、2つ目は機能を拡張するためのサードパーティクラスが含まれます。
同じXcodeプロジェクト内で両方をコンパイルできるようにしたいのですが、使用しないライセンスの支払いを避けるために、最初のターゲットでサードパーティのクラスを除外する必要があります。

私はこのようなことをすることを考えました:

#ifdef THIRD_PARTY
  NSLog(@"Third party enabled");
#else
  NSLog(@"Third party disabled");
#endif

しかし、建物の設定ファイルでTHIRD_PARTYを定義する必要があり、それができませんでした。

どう思いますか?

4

1 に答える 1

1

XCodeプロジェクトに複数のターゲットを作成します。次に、サードパーティのクラスをターゲットの1つに追加し、他のターゲットから除外することができます。

おそらく、すでに2つのターゲットがあるので、誤解しています...必要に応じてコードで条件付きコンパイルを実行し、ターゲットのビルド設定の1つに#defineを追加するか、スタブを作成することができます。サードパーティのクラスと同じインターフェイスを持つクラスですが、すべて空の実装です。

于 2012-08-03T18:37:04.253 に答える