Xcode / IOS 多个应用程序具有相同的代码库/项目

2023-12-01

我正在尝试设置 xcode,以允许我使用相同的代码构建/发布 2 个应用程序,但使用不同的应用程序图标、资产和不同的数据库。

如果我有 2 个应用程序使用相同的代码:

  • 应用程序1:水果列表(显示水果列表)
  • 应用程序2:蔬菜列表(显示蔬菜列表)

对于这两个应用程序,我将拥有唯一的捆绑包 ID(当然)、相同的代码,但图像和数据库不同。如何将 Xcode 设置为拥有 1 个项目并能够选择我想要构建的应用程序?

我似乎明白我们可以选择使用方案、目标或构建配置,但到目前为止我发现比其他任何东西都更令人困惑。

欢迎对此提出任何建议/帮助!在这种情况下拥有多个项目并将更改从一个项目复制到其他项目,这听起来像是一种疯狂的解决方案。

谢谢。


Option 1:

最简单的方法是拥有一个项目并向其添加多个“app”目标。您需要确保每个目标都添加了正确的源文件(有关如何执行此操作的大量信息,包括:Xcode 轻松将多个文件添加到目标).

正如您提到的,每个目标都可以有一个单独的捆绑包 ID,但您可以选择将哪些源文件/图像/等添加到每个目标中。您还可以在“构建设置”中为每个目标设置单独的构建标志、环境变量等。

您可以使用 Xcode 工具栏中的目标菜单(位于源文件选项卡上方)来选择要构建和运行的目标。

Option 2:

另一种选择(或者实际上是选项 1 的变体)是在同一项目中拥有 2 个应用程序目标(与选项 1 相同),并创建第三个目标,这将是一个框架。该框架可以封装应用程序之间的一些共享代码。例如,在我的一个应用程序中,我有一个在该应用程序的 iOS 和 macOS 版本之间共享的音频引擎。该框架的源文件仅属于一个目标(框架),然后将该框架添加为两个应用程序目标的依赖项。

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

Xcode / IOS 多个应用程序具有相同的代码库/项目 的相关文章

  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • XCode 4.5 给我“SenTestingKit/SenTestKit.h”文件未找到,但适用于 4.4.1

    我刚刚安装了 XCode 4 5 它在我现有的项目之一上给了我一个 SenTestingKit SenTestingKit h 文件未找到错误 此错误仅发生在 XCode 4 5 中 但它在 4 4 1 上编译正常 我已经检查过SenTes
  • NSCFData fastCharacterContents 崩溃? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我目前在控制台中收到此崩溃日志 20
  • NSManagedObject 的 Xcode 9 构建问题:Date 与 NSDate

    Xcode 9 生成不同的代码Date模拟器与设备中实体的类型属性 我有codegen功能下Class set to category extension在核心数据中 直到 Xcode 8 3 最新 一切都工作正常 NSDate总是 下面是
  • ios - Gamekit 的 GKOctree 未找到元素

    我正在尝试使用GKOctree https developer apple com documentation gameplaykit gkoctree用于高效检索 3D 空间中的对象 然而 以下代码似乎没有按预期工作 import Gam
  • AVCaptureSession 具有多个方向问题

    我正在尝试实现条形码扫描仪 我有一个 AVCaptureSession 它从 AVCaptureDevice 接收视频 我想支持所有方向 使用以下代码 当我运行应用程序时 纵向一切正常 然而 在横向方向上 视图会旋转 但视频输入不会旋转 所
  • SwiftUI:状态栏颜色

    有没有办法将 SwiftUI 视图的状态栏更改为白色 我可能错过了一些简单的东西 但我似乎找不到在 SwiftUI 中将状态栏更改为白色的方法 到目前为止我只看到 statusBar hidden Bool 状态栏文本 色调 前景色可以通过
  • Xcode 调试器 - 如何在 CPU 指令级别单步执行

    这绝对是令人着迷的 但我对编译器如何巧妙地将 C 代码转换为机器指令感到着迷 由于我对某些指令有点模糊 因此如果我能够在单个机器指令级别 低于 C 语句级别 可能会生成多个 CPU 指令 观察已编译程序的操作 将会很有帮助 换句话说 我可以
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • 如何在 iOS 中更改部分透明图像的颜色?

    我有一个具有部分透明度的单色图像 我有正常版本和 2X 版本的图像 我希望能够用代码将图像着色为不同的颜色 下面的代码适用于普通图像 但 2X 最终会出现伪影 正常图像可能有类似的问题如果是这样 由于分辨率的原因我无法检测到它 UIImag
  • iOS 滚动视图允许滚动过去的内容

    我正在努力优化我的应用程序以适应横向和较小的屏幕 我主要使用滚动视图来实现这一点 在我的其中一个视图中 我有一个容器视图 当我在故事板中的设备之间切换时 这个容器视图看起来很完美 容器视图映射到具有滚动视图的视图控制器 该滚动视图的顶部 底
  • iOS 中的构建对象文件扩展名是什么?

    当我在项目中构建java对象类时 将创建带有 class扩展名的构建文件 并且人类不可读 快速构建文件怎么样 example car java gt build gt car class 构建后会是什么 car swift gt build
  • 个人帐户开发者之间的 Apple 开发/分发证书

    我一直在到处寻找有关处理证书的正确答案 想象一下以下帐户 Joe拥有个人 Apple 帐户 但他根本不会编码 他只是发布了该应用程序并将其称为自己的 Bob还有一个个人 Apple 帐户 Bob 是一位编码专家 Joe 付费让他开发他的第一
  • 我的游戏中应该有多少个视图控制器?

    我开始使用 spritekit 构建我的第一个游戏 现在我只有一个视图控制器来呈现开始屏幕场景 override func viewDidLoad super viewDidLoad let scene StartScreenScene C
  • SiriKit 错误:此应用程序不支持捐赠意图

    我在 Xcode 10 iOS 12 Beta 中捐赠自定义意图时遇到问题 我创建了一个在我的主应用程序目标和 OrderIntent 目标之间共享的自定义框架 我创建了一个 intentdefinition 文件 并将目标成员资格设置为我
  • 当强制退出/向上滑动以终止 iOS 应用程序而不点击横幅/警报时,如何获取推送通知有效负载?

    我正在构建一个应用程序来处理从 Parse 推送的通知 并尝试创建通知历史记录功能 我已经成功启用了后台模式 因此当应用程序在后台运行时 应用程序可以通过以下方式很好地获取有效负载application didReceiveRemoteNo
  • 架构armv7的重复符号

    尝试在我现有的应用程序中使用 Layar SDK 时出现以下错误 我该如何解决这个问题 Ld Users pnawale Library Developer Xcode DerivedData hub afxxzaqisdfliwbzxbi
  • 为什么我的视图仍然以横向呈现?

    我的视图是由导航控制器控制的 因此我将导航控制器支持的方向设置为明确的纵向和纵向UpSideDown 这可以工作 但是如果调用视图时前一个视图处于横向状态 它将以横向方式呈现并保持横向状态 直到设备旋转 如何防止这种情况发生 这是我的代码
  • 在故事板中的视图控制器之间滑动手势

    我希望添加左右滑动手势来在视图控制器之间进行更改 这是否可能 并且有没有一种简单的方法可以在故事板中执行此操作 谢谢 故事板允许您在两个视图控制器之间设置 Segues 我想说首先在视图之间附加 Segues 给它一个标识符 然后使用类似的
  • Swift 中的 UIAlert 自动消失?

    我有以下代码 Creates Alerts on screen for user func notifyUser title String message String gt Void let alert UIAlertController

随机推荐

  • Google是如何实现首页淡入淡出的效果的?

    如果您访问 google com 您会发现将鼠标悬停在页面上后 顶部的菜单会慢慢出现 我想知道谷歌用什么来控制褪色效果 编辑 因为我不使用 jQuery 所以我不想仅仅为了使用此功能而包含它 有两种方法 JavaScript 适用于大多数浏
  • 在 JavaTokenParsers 中将空格设置为分隔符

    延伸JavaTokenParsers 我有以下内容 class Foo extends JavaTokenParsers lazy val check id action obj lazy val id FOO BAR lazy val a
  • 通过 Excel VBA 在 Outlook 中打开新邮件

    每天我都在处理日常报告 这非常耗时 基本上 我需要发送包含昨天销售额与上周和上个月销售额的简要比较的电子邮件 这工作得很好 完成此操作后 消息将粘贴到新工作表中 然后我必须将其复制并粘贴到 Outlook 中的新电子邮件中 是否有可能创建宏
  • 如何将“System.Windows.Input.Key”转换为“System.Windows.Forms.Keys”?

    我正在 WPF 中开发应用程序 但某些组件是使用 WinForms 编写的 我不希望这些组件从 WPF 部分提取按键手势并将它们转换为 Keys 枚举 在 WinForms 中使用 有内置转换器吗 可能不会 你知道 比大开关盒更容易 的方法
  • 如何让 VML 在标准模式下工作?

    我希望能够在标准模式而不是怪异模式下的页面渲染上使用 vml 对象 我发现答案的碎片散落在各处 但无法弄清楚 Raphael以某种方式把它拉下来 但我无法扭转它来弄清楚发生了什么 任何基本的工作示例都会很棒 我想我已经弄清楚了 第 1 步是
  • Kafka Streams 物化存储构建错误

    我正在尝试在这里构建 Materialized as DSL 代码 https kafka apache org 11 javadoc org apache kafka streams state Stores html 但我收到错误 in
  • Android 连续语音识别

    我正在考虑在 Android 中进行语音识别 该程序需要具有连续的语音识别功能 图书馆只需要大约10个字 我考虑过使用 Google 的 api 但我认为它不会起作用 我不能让任何东西覆盖屏幕 我一直在寻找其他方法 但似乎没有任何效果 是否
  • 与mysql中的同一个表连接?

    我有下表 每个员工都有一个经理 如果一个人是他自己的经理 则 managerid 字段为空 我想要emid name and manager id结果表名是employee emid name managerid 1 raj null 2
  • asp.net 中的预定邮件

    大家好 我的应用程序处理预定邮件概念 即 每天早上 6 点 我的用户会收到有关他们当天活动的剩余邮件 我不知道如何执行此操作 许多人告诉使用 Windows 服务 但我将托管我的网站在共享服务器上 我可能无法获得执行Windows服务的权限
  • 带十进制的正则表达式验证

    正在进行正则表达式验证 我验证为 XX XX 使用我的正则表达式我可以写 2 233 并且它仍然会通过 regex d 1 2 d 2 也许您应该添加开始和结束限制 如下所示 regex d 1 3 d 2 Demo http regex1
  • 展平 Spark DataFrame 中的嵌套数组

    我正在阅读一些来自以下内容的 JSON a b c 1 d 2 也就是说 数组项不必要地嵌套 现在 因为这发生在数组内部 所以给出的答案如何展平 Spark 数据框中的结构 不要直接申请 这是解析数据框时的样子 root a array e
  • 闪亮的应用程序 rglwidget 让 userMatrix 生成另一个具有相同旋转的图

    我有一个闪亮的应用程序 并将 rgl 3d 绘图集成到其中 我在用renderRglwidget来自rglwidget包使用 webgl 将 rgl 图形插入到我闪亮的应用程序中 在应用程序中 用户可以旋转图形 现在我想保存旋转状态 因此
  • C 中的华氏转换公式存在问题[重复]

    这个问题在这里已经有答案了 当用 C 编写程序将摄氏温度转换为华氏温度时 以下公式给出了错误的输出 int fahr 9 5 celsius 32 现在 我明白这可能是 9 5 被解释为整数的问题 但我不明白的是使用double or fl
  • 'CreateDirectoryW':无法在 OpenCV 2.4.5 和 VS 2010 中将参数 1 从 'const char *' 转换为 'LPCWSTR'

    我正在尝试从 openCV 2 4 5 到 Visual Studio 2010 基于 VC 的示例代码 bagofwords classification cpp 但我发现了错误代码 error C2664 CreateDirectory
  • Sql 查询绑定变量与指定它们[重复]

    这个问题在这里已经有答案了 我正在 mySql 中创建一个简单的查询 以将表单中的一些值插入到我的数据库中 我的问题很简单 但涉及绑定变量与将它们指定到 sql 语句中之间的区别 Binding query INSERT INTO test
  • Recoil - 如何正确使用 socket.io 更新原子

    我必须更新 React 组件之外的原子 我不能使用钩子 为了使用 useRecoilState 等钩子在我订阅的 React 组件中获取更新的值 正确的方法是什么 您通常不想遇到这种情况 我建议首先仔细检查您的方法 但是 如果您最终仍然确实
  • DIV 显示/隐藏代码有问题吗?

    下面的代码允许当用户将鼠标悬停在链接上时显示 div 问题是 当用户滚下链接时 div 不会消失 无论如何 我们是否可以做到这一点 以便当用户滚动链接时 div 消失 但用户仍然能够将光标向下并与 div 中的项目交互 任何帮助将不胜感激
  • 如何停用某些 symfony2 调试工具栏元素?

    我正在使用 symfony2 它的调试工具栏很棒 但是 我来安装一些额外的捆绑包 其中添加了一些元素 现在它显示在两个级别上 如何从工具栏中删除某些元素 例如 我不需要有关我的 phpversion 的信息 不需要有关路线的信息等 工具栏的
  • Android:使用audiorecord类录制音频快进播放

    我正在尝试录制音频并存储到 SD 卡中并发送到服务器 当我尝试播放录制的语音时 它会播放 但不是我录制的那样 如果我录制语音 10 分钟 它将播放 4 分钟 即有人按下快进按钮 并发出一些嘈杂的声音 我没有明白我要去哪里错了 谁能告诉我如何
  • Xcode / IOS 多个应用程序具有相同的代码库/项目

    我正在尝试设置 xcode 以允许我使用相同的代码构建 发布 2 个应用程序 但使用不同的应用程序图标 资产和不同的数据库 如果我有 2 个应用程序使用相同的代码 应用程序1 水果列表 显示水果列表 应用程序2 蔬菜列表 显示蔬菜列表 对于