0

DEV モードのとき、またはプリプロセッサ設定を使用して RELEASE モードのとき、簡単なテストを実行しようとしています。私の設定は次のとおりです。

プリプロセッサ設定

App-prefix.pch ファイルに含める constant.h ファイルもあります。

ファイルの内容は次のとおりです。

#ifndef myapp_Constants_h
#define myapp_Constants_h




    #pragma mark - Instances
    #ifdef DEBUG
    #define WEB_SERVICE_BASE_URL @"http://local.someurl.com/"
    #define LOGIN_PATH @"app_dev.php/user/login/"
    #define REGISTER_PATH @"app_dev.php/user/register/"
    #endif


    #ifdef RELEASE
    #define WEB_SERVICE_BASE_URL @"http://www.someurl.com/"
    #define LOGIN_PATH @"user/login/"
    #define REGISTER_PATH @"user/register/"
    #endif

#endif

Mac に接続された iPhone でアプリを実行すると、RELEASE 設定を取得する必要があるにもかかわらず、常に DEBUG モード設定を取得しているように見えます。

どうして??

4

2 に答える 2

1

Xcode のデフォルト設定は、デバイス上であってもデバッグで実行することです。リリースでアプリを実行する場合は、次のことができます。

  • 「プロファイル」(Command-I) または「アーカイブ」を使用します (その後、結果のアプリをインストールします)。
  • 「製品 -> スキームの編集」を選択して、スキームを変更します。(または Command-Option-R を使用します。) "Run" スキームをクリックし、"Build Configuration" を "Release" に変更します。(「情報」パネルにあります。)

頻繁に切り替えたい場合は、(「スキームの管理」で) 別のスキームを作成し、リリース ビルド構成を使用するように変更できます。その後、Xcode の左上隅にあるスキーム セレクターを使用して、それらを簡単に切り替えることができます。

于 2012-08-06T16:06:05.467 に答える
0

Xcodeに接続して実行すると、DEBUGは常に定義されているように見えます。

1つの解決策は

#ifdef RELEASE
    // release constants

#else
    // debug constants

#endif

このように、RELEASE定義はDEBUGをオーバーライドします。

編集:そして、DEBUGとRELEASEの両方が設定されていない場合でも、実行可能な環境があります。発生する可能性があります。

于 2012-08-06T15:52:18.970 に答える