objective-c - Xcode 中的多个发布配置

标签 objective-c xcode cocoa

我正在尝试构建两个单独的应用程序以供发布。其中一个的功能应该比另一个少。我会用宏禁用这些功能。大致如下:

#ifdef DEMO_VERSION
    // less code
#else
    // more code
#endif

问题是,我如何定义 DEMO_VERSION(我通常将其放在“其他预处理器宏”下)以便我可以轻松地打开和关闭它?我可以在每次需要编译应用程序时手动定义它,并在编译实际发布版本时删除它,但我怀疑可能有一种更智能的方法来实现这一点。

最佳答案

您可以从 Xcode 中的项目信息 View 管理构建配置。在这里,您可以复制默认的“Release”配置,然后调整build设置以为每个配置定义特定的预处理器宏:

  1. 从左侧的项目导航器 Pane 中选择您的项目。在显示的项目/目标列表中,确保您选择了该项目。
  2. 选择信息标签。在配置下,点击+ > 复制“发布”配置并将其重命名为“发布(演示)”。
  3. 选择build设置选项卡。展开预处理器宏条目以显示每个配置的设置。仅为“发布(演示)”配置添加 DEMO_VERSION=1

现在,在编译时,您的预处理器语句将根据您当前的构建配置进行条件编译。

关于objective-c - Xcode 中的多个发布配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29535510/

相关文章:

ios - 在 .xib 中创建的 UICollectionView 是 nil Swift

objective-c - 使用 Retina 显示屏在 Mavericks 上实现 2 像素鼠标光标精度

swift - NSTextView.typingAttributes 接受的键是什么?

objective-c - pthread_mutex_t VS @synchronized block ?

Objective-C:类似函数的宏与。方法

ios - 如何在Objective-C中将二维二维整数数组对象添加到NSMutableArray?

iphone - 如何在 iPhone (iOS) 上检测硬件键盘上的键盘事件

ios - Invalid Bundle - dylib 搜索路径中不存在您的应用程序引用的一个或多个动态库 | Xcode 13.3

c++ - xcode:添加链接器标志和 "link binary with libraries"之间的区别

ios - 你如何平衡自动布局和创建框架?