2011-07-16 11 views
3

私のiPhoneアプリにライト版を作ろうとしています。私はこれに続いてtutorialをドットにコピーし、ターゲットをコピーしました。すべてがそこそこになりましたが、-DLITE_VERSIONを[ビルド]タブのLLVM GCC 4.2 - Language設定に入力すると、定義が正しく機能しません。 #ifdef LITE_VERSIONと入力するとエラーなしでビルドされますが、まだ隠しとして設定しようとしているボタンは表示されています。何か案は。Xcode 4でライトバージョンを作成する

#ifdef LITE_VERSION 

    [play setHidden:YES]; 

#else 
    [play setHidden:NO]; 
#endif 
+0

"再生"ボタンをプリプロセッサディレクティブなしで非表示に設定すると、本当に隠されていますか?いいえ、多分あなたのコードは隠されたプロパティをYESのどこかに設定しています。 – teriiehina

答えて

1

私は#defineで定義されていなかった何を:ところで、私はここで

のXcode 4の左上の実行ボタンを右隣のバーから選択することにより、アクティブなスキームを変更することは私のコードです

#define POSTPASS 1 
:私はこの #defineを持っている私の 'プロ' バージョンで

#define POSTPASSFREE 2 

:そうのような私のLiteバージョンの-Prefix.pch両方の使い方

#if POSTPASSFREE 
    return NO; 
#else 
    return YES; 
#endif 

:スキーム間の切り替え

- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView 
{ 
#if POSTPASS 
    return 2; 
#elif POSTPASSFREE 
    return 1; 
#endif 
} 

を様々なをアクティブにします

私は、あなたが物事が若干異なるする必要がこれらの分野では上記の持っているものに似た条件付きコンパイルを使用しましたビルド時のセクション

+0

しかし私の主なアプリはprefix.pchを持つ唯一のアプリです。私のライト版はそれを持っていません。私がしたのは、メインのゲームターゲットを複製し、plistの名前とバンドルIDを変更したことだけでした。私のliteのバージョンprefix.pchをどのように作って/見つけたらいいですか? – MacN00b

+0

@ MacN00b - このチュートリアルでは、私とはまったく異なる方法で新しいターゲットを作成しています。 Xcode 4のメニュー(File - > New - > New Target)を使用して新しいターゲットを作成しました。ターゲットには新しいInfo.Plist、main、およびpchファイルが作成されました。 –

+0

ビルド設定でターゲットのプレフィックスヘッダーファイルを設定することができます。つまり、ライトバージョンのコピーを作成します(編集します)。新しいターゲットのビルド設定の下に "Prefix Header"を検索すると、 "myApp/myApp-Prefix.pch"のような行が表示されます - (新しい)pchファイルの名前に変更します(例:myApp/myApp- Lite-Prefix.pch – unsynchronized

関連する問題