使用 Swift 区分两个 Xcode 目标

2023-12-28

如何使用 Swift 区分两个 Xcode 目标?我们的想法是在 Xcode 中使用相同的代码库制作免费和付费版本的应用程序。

对于 Objective C,我可以使用预处理器宏,但对于 Swift,这些是不可用的。


在 Xcode 中,进入目标的构建配置。找到名为的部分Swift 编译器 - 自定义标志,其中包含一个名为的设置其他 Swift 标志.

添加一个命令行标志,以便编译器添加一个标志,就像使用 C 编译器一样。

现在你已经有了-D Something被传递给 Swift 编译器。在您的 Swift 代码中,您现在可以执行以下操作:

#if Something
    let foo = "bar"
#endif

它看起来很像 C 预处理器,但与 C 不同,所有条件部分中的所有代码都必须语法正确,否则程序将无法编译。因此,您可以在构建设置中为每个目标设置一个标志,并在代码中使用它们。

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

使用 Swift 区分两个 Xcode 目标 的相关文章

  • Swift 中的 @autoreleasepool 相当于什么?

    在 Swift 中 我注意到没有 autoreleasepool 构造 尽管 Swift 确实使用了 ARC 在 Swift 中管理自动释放池的正确方法是什么 或者它是否因某种原因被删除 语法如下 autoreleasepool code
  • UILongPressGestureRecognizer 不起作用,但将其替换为 UITapGestureRecognizer 效果很好。为什么?

    我有一个UIImageView with a UILongPressGestureRecognizer无论我如何配置手势识别器 似乎都不会检测到长按手势 但是 如果我把它换成UITapGestureRecognizer that工作得很好
  • 如何为所有整数类型创建通用整数到十六进制函数?

    我想为所有整数类型创建一个整数到十六进制函数 对于1字节的Int8 它返回两个字母 例如0A 对于2字节的Int16 它返回四个字母 例如0A0B 对于8字节的Int64 它返回16个字母 例如0102030405060708 func h
  • UIAlertAction 处理程序在延迟后运行

    我正在尝试将 UIAlertViews 更改为 UIAlertControllers 我为此设置了这个操作 UIAlertAction undoStopAction UIAlertAction actionWithTitle Undo St
  • 解析迁移到 mLabs 和 Heroku 的错误

    我至少一年前将解析数据库迁移到 Mlabs 从那时起我就一直在开发该应用程序 解析仪表板表示我已成功迁移 Mlab 和 Parse 都收到了数据库的更新 然而 在过去一两周内 该应用程序不再经过登录页面 没有调整代码 这是服务器问题 以下是
  • 如何计算CLLocationDistance的中心坐标

    我想计算我的位置和一些注释之间的中心点 到目前为止我已经这样做了 CLLocation myLoc self locMgr location MKPointAnnotation middleAnnotation locationV anno
  • 如何使用呼叫目录扩展来识别应用程序中的来电?

    我正在研究callKit框架 我发现通过使用呼叫目录扩展 我们可以识别来电电话号码 我的问题是如何在 iOS 应用程序中实现呼叫目录扩展来识别来电详细信息 我在 Objective C 工作 让一个数 919876xxxxx 使用此方法添加
  • 如何让位置音频在 SceneKit 中工作?

    我在使位置音频在 SceneKit 中工作时遇到问题 从 Xcode 生成的 SceneKit 游戏模板开始 我将以下代码添加到handleTap 方法的末尾 let ship scnView scene rootNode childNod
  • 在后台运行 URL 请求

    我想在一定的时间间隔内发出 url 请求 例如 每 10 分钟应用程序应该发出一次 url 调用并获取一些 json 数据 应用程序在后台运行时应该能够执行此操作 这可以做到吗 如果是这样 这是否违反 Apple 服务条款 有什么限制吗 i
  • admob ios7错误音频框架

    我正在将 admob SDK 当前的 集成到我的上一个应用程序 IOS7 Xcode5 中 并且出现了一个新错误 在新项目上也是如此 我想我错过了一些东西 但我多次重新启动该过程 但错误仍然存 在 Undefined symbols for
  • 在后台继续下载

    我正在创建一个应用程序 其中我从服务器下载一些数据 在后台运行时 我希望连接继续运行 以便可以下载数据 我知道有方法应用程序委托 void applicationDidEnterBackground UIApplication applic
  • 在 Swift 中,如何为具有自动布局的 UIView 制作动画,就像页面滑入一样?

    我尝试创建一个 UIView 来表示一个大小与设备屏幕相同的页面 由于该应用程序支持方向 因此我使用 AutoLayout 来构建它 它工作正常 直到我尝试将页面动画化以从右侧滑入 经过一番研究后 我能想到的最好的办法是 myView UI
  • 如何在多个视图中显示相同的导航栏?

    我可以为一个视图重现以下导航栏 但是 一旦我单击按钮后移至下一个视图 我就会丢失最右边的两个图标 搜索 个人资料 据我所知 从故事板设置导航项目通常是按视图进行的 我可以为每个视图复制这些项目 但我想知道是否有更好的方法来完成一次 是否有教
  • dyld:无法加载插入的库,但可以在模拟器和另一部 iPhone 上使用

    所以我在过去的几个小时里在我的应用程序上编码 在某个时候我决定在我的 iPhone 8 13 3 1 上启动我的应用程序而不是使用模拟器 13 3 它立即崩溃并出现以下错误 dyld warning could not load inser
  • 如何在没有 MFMessageComposeViewController 的情况下发送和接收短信?

    我想发送和接收短信而不显示MFMessageViewController从我的申请中 有人能告诉我这怎么可能吗 不可能 除非您使用第 3 方 api 发送 接收短信
  • 使用自定义格式将字符串转换为 NSDate [重复]

    这个问题在这里已经有答案了 可能的重复 NSString 到 NSDate https stackoverflow com questions 1353081 nsstring to nsdate iPhone 如何将 yyyyMMddTh
  • iOS 开发:如何强制 UIWebView 加载 Facebook 的非移动版本?

    我正在深入研究 iOS 开发 当我尝试在 UIWebView 中加载特定的 Facebook 粉丝页面时 它会加载该网站的移动版本 该版本仅加载粉丝页面的墙 而不是我需要加载的特定选项卡 在我的应用程序的 iPad 版本中 UIWebVie
  • 如何删除以前的 ViewController

    我是一名学生 对编程还很陌生 我正在尝试在业余时间学习 Objective C Swift 我使用 spriteKit 和 swift 制作了一个游戏 有多个菜单 场景 我正在尝试从一个视图控制器转换到另一个视图控制器 为此 我使用了以下代
  • GCD 与自定义队列

    我想知道这两者的性能有什么区别 dispatch async dispatch get global queue DISPATCH QUEUE PRIORITY HIGH 0 perform complex operation dispat
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji

随机推荐

  • JavaScript foreach 关联数组对象上的循环

    为什么我的 for each 循环没有迭代我的 JavaScript 关联数组对象 Defining an array var array Assigning values to corresponding keys array Main
  • Java在MySQL数据库中创建表

    首先感谢之前帮助过我的人 我目前遇到的问题是这行代码 statement executeUpdate myTableName 或者用这些代码行 String myTableName CREATE TABLE AgentDetail idNo
  • TActionMainMenuBar、VCL 样式和 MDI 按钮(最小化、关闭等)未设置样式。

    我试图让 TActionMainMenuBar 像 TMainMenu 一样显示样式化的 MDI 按钮 有什么建议么 我无法停止在这个项目中使用 MDI 好的 首先这不是 Vcl 样式错误 这是一个 VCL 错误 即使禁用了 Vcl 样式
  • HTML5 Boilerplate plugins.js 问题

    有人可以向我解释一下他们如何使用plugins js 文件吗 在 HTML5 样板中找到 我不太明白目的 它的用途 或者它如何发挥作用 谢谢 我写了一个入门指南 https github com paulirish html5 boiler
  • UIApplicationDelegate openURL 的 SourceApplication 参数是否应该为零?

    我的 iOS 应用程序通过 UIApplicationDelegate 的 openURL 方法接收来自其他 iOS 应用程序的文件 我在应用程序中使用 NSString SourceApplication 参数来跟踪将文件发送到我的应用程
  • 如何阻止 MainWindow 关闭整个应用程序

    我正在尝试从 WPF 应用程序中的子窗口关闭主窗口 问题是 一旦我尝试 关闭 主窗口 我的整个应用程序就会关闭 这是我在主窗口 pgLogin 中的编码 Window nextWindow null nextWindow new pgDas
  • 在状态栏中显示通知文本 - Android

    在我的应用程序中 我需要向用户显示通知 以下代码片段非常有效 可以在 Android 设备标题栏中显示图标和内容标题 var notificationManager GetSystemService Context Notification
  • 如何在WPF中使用DockStyle.Fill作为标准控件?

    我从 Windows 窗体中使用 我创建一个面板 将控件放在其中并给它们DockStyle Fill以最大程度地扩大其周围面板的尺寸 在 WPF 中我想要同样的 我有一个 TabControl 我希望它的大小尽可能多地填充表单 我有一个功能
  • 如何构建 DynamoDB 数据库以允许查询热门帖子?

    我计划使用以下公式来计算 热门 帖子 Trending Score p 1 t 2 1 5 p 用户的投票 积分 t 自提交以来的时间 以小时为单位 我正在寻求有关如何构建数据库表的建议 以便我可以使用 DynamoDB 来自 Amazon
  • 如何在java中使用openCV检查两个图像是否相似?

    我必须使用 OpenCV 检查两个图像在 java 中是否相似 我正在使用 OpenCV 并使用 ORB 这是我的主要课程 System out println Welcome to OpenCV Core VERSION System l
  • C# 大对象和堆

    我对堆中大型对象的存储有点困惑 例如 对象的大小被认为是大的 哪些类型更有可能被视为大对象 是否有任何明确的碎片方法适合管理此类对象 本文 https devblogs microsoft com dotnet large object h
  • 当网络视图无法使用互联网时,如何显示没有互联网连接的弹出窗口和 html 页面?

    我在我的应用程序中使用 webviews 并希望确保当互联网不可用时 弹出消息显示没有互联网连接 并且还在后台显示一个 html 页面 说明需要互联网连接 我添加了一些用于检查互联网连接的代码 但它不起作用 显示复选标记错误 基于在线研究添
  • MySQL:连接类型的快速细分[重复]

    这个问题在这里已经有答案了 我想快速了解一下 MySQL 连接的类型 我知道这些 其余的我不确定它们的意思 逗号分隔 什么exactly这是缩写吗 SELECT FROM a b WHERE b id a beeId AND 显示来自 a
  • 在bash中用(下划线)_替换空格的最简单方法[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 最近 我不得不编写一个小脚本来解析
  • SSRS 2008,自定义 dll,找不到文件

    我已经和 SSRS 斗争了一段时间了 这太愚蠢了 当我添加对 dll 的引用 这是同一解决方案的一部分 时 它只给了我一个 rsErrorLoadingCodeModule 错误 加载代码模块时 MyFile MyClass Code 版本
  • 隐藏 UIStatusBar 而不删除为其分配的空间

    我有图片示例来向您展示我想要什么以及我现在拥有什么 首先 这是我在 Slack 应用程序中尝试执行的操作的示例 状态栏正常显示 但当你打开侧抽屉时 它就消失了 我可以在我的应用程序中显示状态栏 但是当我隐藏它时 它也隐藏了框架 因此顶部的空
  • 使对象的行为类似于 Ruby 中并行赋值的数组

    假设您在 Ruby 中执行此操作 ar 1 2 x y ar 然后 x 1 且 y 2 是否有一种方法可以在我自己的类中定义 从而产生相同的效果 例如 rb AllYourCode new x y rb 到目前为止 我对这样的赋值所能做的就
  • 从消息弹出窗口导航到 RootViewController 时应用程序崩溃

    I used MFMessageComposeViewController用于发送消息的类 我的应用程序在特定情况下崩溃了 即 当消息 UI 弹出窗口出现时 用户按下主页按钮 应用程序进入后台 当返回时 我编写了代码来导航到root vie
  • 动态 ngTemplateOutlet 值

    有没有办法动态设置 ngTemplateOutlet 指令的值 沿着这些思路 div div
  • 使用 Swift 区分两个 Xcode 目标

    如何使用 Swift 区分两个 Xcode 目标 我们的想法是在 Xcode 中使用相同的代码库制作免费和付费版本的应用程序 对于 Objective C 我可以使用预处理器宏 但对于 Swift 这些是不可用的 在 Xcode 中 进入目