0

私はそれを公開して他のプロジェクトで使用するためのフレームワークを構築しました。組み込みのログがあります。そのため、アプリケーション開発者 (フレームワークを使用したい) に、フレームワークでログを有効/無効にする機能を提供しようとしています。私が考えていた最善の方法は、次のようなプリプロセッサ マクロ定義をアプリケーションのビルド設定に追加できることです。

ENABLE_FRAMEWORK_LOGS = 1

だから私はこのようなことをすることができます:

#ifdef ENABLE_FRAMEWORK_LOGS
    NSLog(12345);
#endif

しかし、問題があります: 私のフレームワークは、アプリケーションのビルド設定で事前定義されたマクロを認識しません。フレームワークのビルド設定で事前定義されたマクロしか認識できません。

だから私の質問は:それはまったく可能ですか?そうでない場合 - それを行う正しい方法は何ですか?

ありがとう

4

1 に答える 1

2

ソース コードをリリースしていて、ユーザーがソースをプロジェクトにドロップするだけだと思われる場合は、アプリをビルドするときにソースがコンパイルされるため、プリプロセッサ マクロを使用できます。

ただし、コンパイルされたフレームワークを公開する場合、プリプロセッサ マクロはコンパイル時にのみ使用されるため、使用できません。フレームワークへの API 呼び出しを介してユーザーがオフにできるようにする機能、またはフレームワークが構成ファイル/plist を読み取る機能が必要です。

于 2013-01-16T20:44:17.387 に答える