如何为OEM构建同一iOS应用程序的多个版本

时间:2012-07-13 15:13:35

标签: ios xcode

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

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

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

我需要做什么:

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

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

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

我考虑在现有项目中添加新目标,但我认为这不会起作用: - 我无法弄清楚如何替换图标和开始屏幕之外的图像 - 我无法弄清楚如何更换字符串 - 我是否可以为使用同一项目编译的不同应用程序使用不同的配置文件?我知道目标设置允许不同的配置文件,但项目设置是否有自己的配置文件集?

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

也许我需要更多地研究多个目标......

我正在使用xCode 4.2,但我准备在必要时转移到更新的版本

3 个答案:

答案 0 :(得分:11)

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

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

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

祝你好运。

答案 1 :(得分:3)

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

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

然后旋转一个app你创建你的App项目,包括公共“库”,提供Config.m文件(Config.h很常见),添加独特的图像等。

答案 2 :(得分:0)

这对我非常有帮助。从本质上讲,这是一种多目标方法,但是您可以为公司自定义它,然后将其上传到他们的帐户。

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

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