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

问题描述 投票:18回答:2

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

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

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

我需要做什么:

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

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

在iOS中我没有找到明显的答案。

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

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

也许我需要更多地利用多个目标的想法......

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

ios xcode
2个回答
11
投票

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

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

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

祝好运。


3
投票

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.