0

私のプロジェクトには、iOS Xcode プロジェクトにモックアップ情報を提供する Objective-C クラスMockupModelがあり、App Store のスクリーン ショットの作成に役立ちます。

プロジェクトには 2 つのターゲットがあります。モックアップの対象にはMockupModel.m.

メイン ターゲット (実際のアプリの場合) を含めないMockupModel.mようにして、誤って配送アプリにリンクされる可能性がないようにします。

ただし、ファイルの属性インスペクターを使用してプロジェクトから を除外するMockupModel.mと、プロジェクトはリンクに失敗します。MockupModelの機能が見つからないというエラーが表示されます。

MockupModelリンカーが実装されていなくても心配しないように、オプションとして宣言できる方法はありますか? 実行時に、コードはNSClassFromString(@"MockupModel")、または で利用できるかどうかを確認します[MockupModel class]

4

1 に答える 1

1

非メイン ターゲットで、ユーザー定義のプリプロセッサ ディレクティブを追加します。あなたはそれを呼び出すことができますUSE_MOCKUP_MODEL。メイン ターゲットのファイル リストから MockupModel.h と MockupModel.m を削除し、MockupModel (またはインポート) を参照するソースを次のように囲みます。

#ifdef USE_MOCKUP_MODEL
//source
#endif

例:

#ifdef USE_MOCKUP_MODEL
#import "MockupModel.h"
#endif

Model *myModel = nil;
#ifdef USE_MOCKUP_MODEL
myModel = [MockupModel new];
#else
myModel = [RealModel new];
#endif
于 2014-10-09T14:02:33.690 に答える