21

我有一个现有的 iOS 应用程序,我需要能够为不同的客户端构建和发布多个版本。

此应用程序与少数不同公司提供的硬件接口,硬件相同,但每家公司以不同的名称销售硬件

这是一个免费的应用程序,目标不是向应用商店发送同一个应用程序的多个版本的垃圾邮件,目标是允许销售更名硬件的公司拥有使用他们用于硬件的品牌名称的移动应用程序。

我需要能够做什么:

  • 构建可以提交到 Appstore 的同一应用程序的多个版本,每个版本将在不同公司的苹果帐户下提交。我认为这意味着多个项目,以便每个项目都可以使用公司特定的配置文件
  • 每个版本都有一些不同的图像(图标、启动图像,可能还有其他一些)
  • 每个版本都有一些不同的字符串(公司名称、产品名称,可能还有其他一些)

使用 Android,我只需要创建一个库项目,我就可以轻松地覆盖字符串和图像。

对于 iOS,我还没有找到明显的答案。

我考虑在现有项目中添加一个新目标,但我认为这不会奏效: - 我不知道如何替换图标和起始屏幕之外的图像 - 我不知道如何替换字符串 -我能否为使用同一项目编译的不同应用程序使用不同的配置文件?我知道目标设置允许不同的配置文件,但是项目设置没有自己的一组配置文件吗?

我可以将当​​前应用程序打包到其他项目可以使用和替换图像/字符串的库中吗?所以每个版本都有自己的 xCode 项目,但使用相同的代码。

也许我需要更多地处理多个目标的想法......

我正在使用 xCode 4.2,但如有必要,我准备迁移到更新版本

4

3 回答 3

12

创建使用不同 Info.plist 文件的多个目标。最大的区别将是不同的包标识符。您还可以定义不同的预处理器宏来控制各种代码块的条件编译。

或者/另外,您可以将构建配置设置(包括 Info.plist 文件的更改位置)放入 *.xcconfig 文件中,并在您的项目、信息、配置区域中引用这些设置。然后,您只需更改方案即可构建不同版本的应用程序。将构建配置设置放入文件中也是配置控制的巨大胜利。

这是设置 *.xcconfig 文件的链接:http: //itcoding.blogspot.com/2011/03/using-xcconfig-abandoning-build-panel.html。我也看过其他类似的文章——但这篇文章会让你开始。

祝你好运。

于 2012-07-13T15:23:12.997 回答
4

我在上一家公司做了不同的事情,我们从一个主要源存储库生成了大约 8 个应用程序。

我们创建了一个需要一个外部类的项目,称之为 Config。该课程提供了使每个应用程序独一无二的独特信息。

然后旋转一个应用程序,您创建您的应用程序项目,包括公共“库”,提供 Config.m 文件(Config.h 是常见的),添加唯一图像等。

于 2012-07-14T12:59:41.483 回答
1

这对我很有帮助。它本质上是多目标方法,但您为公司定制它并上传到他们的帐户。

https://developer.apple.com/videos/play/wwdc2019/304/从 17 分钟开始看。

总而言之,您与您正在为其开发的公司合作,通过他们的 Apple Connect 帐户,他们将您分配为您为他们开发的特定应用程序的开发人员和营销角色。您将构建上传到他们的帐户。他们最终决定何时发布它以及谁将使用 TestFlight 对其进行测试。

于 2019-12-05T06:33:49.020 回答