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 上运行应用程序时,我似乎总是获得 DEBUG 模式设置,即使我应该获得 RELEASE 设置。

为什么??

4

2 回答 2

1

Xcode 的默认配置是在 Debug 中运行,即使在设备上也是如此。如果您想在发布版中运行您的应用程序,您可以:

  • 使用“配置文件”(Command-I)或“存档”(然后安装生成的应用程序)。
  • 通过选择“产品 -> 编辑方案”来修改您的方案。(或使用 Command-Option-R。)单击“运行”方案,并将“构建配置”更改为“发布”。(它在“信息”面板中。)

如果您想频繁地来回切换,您可以制作另一个方案(在“管理方案”中)并修改它以使用发布构建配置。然后,您可以使用 Xcode 左上角的方案选择器轻松地在它们之间切换。

于 2012-08-06T16:06:05.467 回答
0

在我看来,当您附加到 Xcode 运行时,总是会定义 DEBUG。

一种解决方案是

#ifdef RELEASE
    // release constants

#else
    // debug constants

#endif

这样,您的 RELEASE 定义将覆盖 DEBUG。

编辑:在没有设置 DEBUG 和 RELEASE 的任何情况下,你仍然有一个可行的环境。它可能会发生。

于 2012-08-06T15:52:18.970 回答