如何为我的两个不同目标指定 #define 命令

2023-11-30

我有一个项目,我将其分为两个目标。原始的单目标项目使用了许多定义命令,但是我现在需要这些值根据我正在构建的目标而有所不同。

这样做的正确方法是什么?我应该使用 AppDelegate 上声明的 NStrings 吗?或者我可以在设置#defines 时使用#if 语句吗?

任何帮助,非常感谢。


一种方法是这样的:

#if defined(MON_TARGET_A)
  #define MON_TARGET_NAME "App A"
#elif defined(MON_TARGET_B)
  #define MON_TARGET_NAME "App B"
#else
  #error "which target are you building?"
#endif

然后加MON_TARGET_A or MON_TARGET_B到你的目标的预处理器设置。

通常,您会使用GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS并不是GCC_PREPROCESSOR_DEFINITIONS因为后者可以防止PCH头的共享。

要添加此内容,请转到:

  • 项目导航器 -> 项目 -> 目标 -> 构建设置

然后放下GCC_PREPROCESSOR_DEFINITIONS_NOT_USED_IN_PRECOMPS进入搜索字段并将其值设置为:MON_TARGET_A $(inherited)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何为我的两个不同目标指定 #define 命令 的相关文章

  • xcode 6.1 (Swift) 中的 SIGABRT 运行时错误

    与最初的代码相比 唯一的更改是在ViewControl swift override func viewDidLoad newMessage hidden true super viewDidLoad Do any additional s
  • 将 CALayer 旋转 90 度?

    如何旋转CALayer90度 我需要旋转所有内容 包括子图层和坐标系 Obj C theLayer transform CATransform3DMakeRotation 90 0 180 0 M PI 0 0 0 0 1 0 Swift
  • 应用程序未通过协同设计验证?

    我在提交 iPhone 申请时遇到问题 我看到了一些类似的问题 但没有找到答案 当我存档项目并单击 验证 时 收到错误消息 应用程序未通过协同设计验证 签名无效 或者未使用 Apple 提交证书进行签名 我假设我在协同设计部分做错了什么 我
  • 退出导航控制器

    我试图离开初始视图控制器 并进入空白视图控制器 这很好 但是这会使空白视图控制器也成为导航控制器的一部分 这不是我想要的 我想脱离视图控制器 在视图控制器中 我尝试退出 它会自行弹出 当我尝试视图中的方法时 将出现目标视图控制器 self
  • 如何消除禁用的 UIButton 的灰色外观

    我有一个 UIButton 我希望它处于禁用状态时与处于正常状态时看起来完全相同 现在它看起来有点灰色 不要使用enabled属性或setEnabled NO方法 而是使用 myButton setUserInteractionEnable
  • 如何使用 Objective-C 协议

    我需要将 Picker 选择的值继承到其他地方 我正在尝试下面的代码 但空值即将到来 请检查我哪里出错了 我必须继承在中传递的字符串值PickerView 请检查代码 选取器1 h import
  • 在ScreenUpdates之后调用drawViewHierarchyInRect时iOS8缩放故障:YES

    我正在将一个项目从 iOS7 转换为 iOS8 该项目使用自定义转换 并且需要在加载完成后捕获模式afterScreenUpdates YES并看到整个屏幕放大一秒钟然后缩小 我还在 iOS 版 Flickr 应用程序的各个部分之间以及在
  • Firestore 读取包含子集合的文档的计费

    我正在制作一个应用程序 它存储用户使用我的应用程序学习了多少分钟 我的 Firestore 数据库以 用户 集合开始 每个用户都有自己的文档 该文档由其在 Auth 中生成的 userID 命名 我的问题是 如果我读取了他们的 userID
  • 使用自动布局约束时如何获取视图的当前宽度和高度?

    我不是在谈论frame属性 因为从中你只能得到xib中视图的大小 我说的是当视图由于其约束而调整大小时 可能在旋转之后 或响应事件 有没有办法获取当前的宽度和高度 我尝试迭代其约束来寻找宽度和高度约束 但这不是很干净 并且在存在内在约束时会
  • iPhone UI 带有 Tableview 或 Scrollview? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 xctool 运行单个 KIWI 规范

    有没有人能够成功地将 KW SPEC 变量传递给 xctool 我正在尝试使用以下命令来运行单个 KIWI 规范https github com kiwi bdd Kiwi wiki Kiwi FAQ q how do i run a si
  • iOS Safari 通过单击按钮触发扫描信用卡

    您好 我目前正在创建一个测试应用程序 当用户单击文本字段名称或卡号时 扫描信用卡功能对我有用 我的问题是 我希望当用户单击 button1 时发生同样的情况 这应该打开相机来扫描卡并填充现有的文本字段 即名称 卡号和到期日期 额外的好处是
  • 每次 UIScrollView 释放时都会发生内存泄漏

    在我的应用程序中 我有一个滚动视图和四个表格视图 每次拖动然后释放时 我都会泄漏 48 字节 这确实很重要 正如您所看到的 两组泄漏都有相同的来源 有人见过这样的泄漏吗 Edit 1 当我单击泄漏旁边的箭头时 我会得到泄漏的以下信息 您所看
  • 观察 UIDatePicker 的变化

    我注意到没有委托来观察 UIDatePicker 中的变化 有没有一种方法可以在不确认任何内容的情况下检测选择器中何时进行更改 例如它旋转并落在新数字上的那一刻 我希望能够检测到这一点 我考虑过关键值观察 但我不认为有一个属性会立即改变 您
  • xcode 4 垃圾收集已删除?

    我正在学习 Xcode 和 Objective C 但是我正在阅读的书使用的是旧版本 3 2 的 Xcode 其中一章完全致力于内存和泄漏 说我需要通过 项目设置 gt 构建 打开垃圾收集 但是 我找不到垃圾收集设置 它已被删除还是我只是错
  • 当视口设置为 user-scalable=no 时,iOS/移动 Safari 仍然会缩放?检查辅助功能设置!

    这个特定的 Mobile Safari 看似不可能且未记录 问题让我今天坚持了很长一段时间 当我弄清楚它时 我正要在这里发布一个有关它的问题 问题 虽然我设置了我的 iPad 网络应用程序仍然允许手动缩放 在浏览器中捏合 但只能在我的 iP
  • Apple 允许后台任务运行多长时间?

    我必须将一系列图像文件上传到数据库 因此 我偶然发现苹果后台执行指南 https developer apple com library ios documentation iPhone Conceptual iPhoneOSProgram
  • 应用程序被终止时是否会收到 iOS 静默通知

    当发送后台推送时 content available 1 对于被用户杀死的应用程序 该应用程序不会启动到后台模式 并且application didReceiveRemoteNotification fetchCompletionHandl
  • 如何按字母顺序对 NSMutable 数组中的自定义对象字段进行排序?

    我有一个自定义对象 例如 import
  • Javac 版本 1.7 无法为目标 1.7 构建

    我试图在 Linux Mint 系统上使用 Sun Java JDK 1 7 0 17 编译 Java 代码 但遇到了这个问题 javac version target 1 7 javac 1 7 0 17 javac invalid ta

随机推荐

  • 如何像sqlite一样将整数值保存到NSuserDefault?

    我想在 NSUserDefault 中保存和检索值 我正在成功保存和检索值 但是 当我进入 cak 主页并再次进入我的班级时 该值不会被存储 并且所有过程都会再次完成 它不记得旧的价值 我正在做这个 void ViewDidLoad A 0
  • sencha touch2.0中如何在屏幕之间传递数据?

    我正在开发 sencha touch2 0 应用程序 我想将数据从一个屏幕发送到另一个屏幕 我知道这个问题已经被问过here但我发现它没有帮助 所以我在这里再次询问 我的应用程序中有一个复选框列表视图 我想要的是 当我单击一个或多个复选框并
  • 默认 lambda 作为函数的模板化参数

    考虑下面的代码 template
  • OpenMP 5.1 规范是否允许使用非矩形循环的折叠子句?

    考虑以下 OpenMP 代码 pragma omp target teams distribute parallel for collapse 4 map tofrom a private i j k l for i 0 i lt SIZE
  • 如何使用 CoreAnimation 制作像时钟倒计时一样的圆圈动画

    我希望有一个时间倒计时指示器 就像一个圆圈一样 从一段拱形开始到一个完整的圆圈 我尝试了几种方法 最后都是把拱门直接转成一整圈 而不是顺时针转 演示图片如下所示 任何想法 不胜感激 SetNeedsDisplay 当你改变其中一个角度时 你
  • XDocument 或 XmlDocument

    我现在正在学习XmlDocument但我刚刚遇到XDocument当我尝试搜索它们的区别或优点时 我找不到有用的东西 您能告诉我为什么您会使用其中一个而不是另一个吗 如果您使用 NET 版本 3 0 或更低版本 则have to use X
  • 带符号的过度打孔值的解析器?

    我正在处理一些旧数据导入 并遇到了来自外部源的大量数据 这些数据用签名过冲 我见过很多 但这是在我的时代之前 在我开始创建一个函数来解析这些陌生人之前 我想检查一下是否有处理这些陌生人的标准方法 我想我的问题是 Net 框架是否提供了用于转
  • JSF 2.0 获取当前会话中xhtml页面的内容

    我正在尝试使用 Flying Saucer 将 JSF 页面转换为 PDF ManagedBean SessionScoped public class ReportController public void createPDF Face
  • node.js Gmail API:获取内联/嵌入图像

    当抓取电子邮件时 我运行gmail users messages get 然后运行以下两个函数来处理payload function getBody message var encodedBody try if typeof message
  • 是否有 (return a) >>= b 的标准 Haskell 函数?

    我正在寻找一种方法来删除returns 来自以下函数 naming path getModificationTime path gt gt return formatTime defaultTimeLocale Y m d gt gt re
  • 登录后重定向页面的好处

    我看到很多网站 比如使用 vbulletin 的网站 都有 谢谢你 您已成功登录 点击此处继续 page 这样做有什么好处 优点吗 这和不重定向有什么区别 流量with重定向站点如下 此处的开启页面指的是 登录 区域的首页 login pa
  • QT C++ 错误:对“appprinter 的 vtable”的未定义引用

    问题 我有一个程序 其中包括打印机类 apppprinter 但是当尝试编译时我收到错误 appprinter cpp text 0x105 undefined reference to vtable for appprinter appp
  • Gem::Ext::BuildError: 错误: 无法构建 gem 本机扩展。在CenOS 6.5上

    安装Redmine 我试过了 bundle install without development test postgresql sqlite 但是错误 Gem Ext BuildError 错误 无法构建 gem 本机扩展 curren
  • MVC 3 - Html.EditorFor 似乎在 $.ajax 调用后缓存旧值

    这是以下问题的后续 MVC 3 ajax 响应似乎正在缓存部分视图的输出 那里有详细的问题描述 但是 我现在已经成功缩小了问题范围 这似乎与 Html EditorFor 帮助程序有关 因此出现了新问题 问题 我使用 ajax 将数据发布到
  • 如何从链接切换 Bootstrap 下拉菜单?

    我有一个工作正常的 Bootstrap 下拉菜单 我想做的是通过单击页面上其他位置的链接来触发菜单的打开 这是有道理的 因为菜单项中的内容等 文档页面说让链接执行类似的操作 dropdown toggle dropdown 或者可能 dro
  • 退出 Android 应用程序的最佳方法? [复制]

    这个问题在这里已经有答案了 我正在寻找一种通过代码退出我的 Android 应用程序的方法 是的 我知道 我不应该这样做 因为当你按下后退按钮时 android 会处理它 但我有一个定制的流程 迫使我实现这个 我已经搜索了一段时间 找到了多
  • 从另一个类调用 Main()

    我有一个名为TestMaze 我有另一个类名为DisplayHome其中有一个方法称为gameOver public void gameOver Console Write GAME OVER Console Write Play Agai
  • 为什么 Azure WebJob 中的时间触发器被触发两次?

    我正在使用带有 TimerTrigger 属性的 Azure WebJob 函数 每天早上在特定时间为某些用户排队发送电子邮件 根据阅读 我知道这应该表现为单例 并且在所有横向扩展实例中只触发一次 但是 用户报告收到两封电子邮件 并且日志记
  • MySQL 排序先于分组依据

    我需要找到每个作者的最新帖子 然后对结果进行分组 这样我就只能为每个作者找到一篇最新帖子 SELECT wp posts FROM wp posts WHERE wp posts post status publish AND wp pos
  • 如何为我的两个不同目标指定 #define 命令

    我有一个项目 我将其分为两个目标 原始的单目标项目使用了许多定义命令 但是我现在需要这些值根据我正在构建的目标而有所不同 这样做的正确方法是什么 我应该使用 AppDelegate 上声明的 NStrings 吗 或者我可以在设置 defi