2009-11-16 49 views
5

我接近完成我的第一个相对简单的Xcode项目(自定义安装程序),我需要做22个版本。是的,这不是一个错字!每个版本的不同之处在于PRODUCT_NAME,包资源文件夹中的源文件以及说明该软件是否为试用版的变量。最有效的方法来做22个不同的版本

从我迄今为止读到的内容来看,复制现有目标似乎是只有几次构建才能完成的方法,但对于22而言仍然如此?这似乎是一项可怕的工作。我想到的是一种方法来更改PRODUCT_NAME,复制到资源文件夹中的源文件和试用模式布尔值。但我卡住了。

感谢

回答

1

我可能会写使用.xcodeproj模板和sed生成所有必要的组合的脚本。

1

您可能想要检查出CMake是否需要维护大量的构建版本。

脚本确实可以完成工作,但是一旦项目发展到大量文件,或者如果您发现自己正在更改构建数量,更改脚本就会变得多毛。 CMake会让你组织这些脚本,所以在将来做修改至少会容易一些。

2

我的直觉反应是,22个不同的构建,只有一个源文件不同的是错误的...

不能的问题转头?在一个版本中包含您的应用程序的所有22个不同版本,并在.app文件夹中提供22个不同的密钥/许可证文件,每个解锁22个版本中的一个。

+0

不幸的不是。这些是不可复制保护的插件,因此它们需要单独构建以单独下载。 – user212253 2009-11-16 23:21:12

+0

插件 - 构建一个应用程序并提供不同的插件,每个插件都包含所需的功能。尽管这几乎可以回复22版本的问题...... – 2009-11-17 07:31:18

2

我过去完成此操作的一种方法是使用本地化。当你使用NSLocalizedString风格化的宏时,其中一些宏可以指定一个tableName(即与默认不同的字符串文件)。然后,无论何时我需要一个不同品牌的版本,我只需使用适当的键值对创建一个新的.strings文件即可。

然后我有一个构建目标,它使用默认值构建代码,第二个目标使用构建的代码并将相应的.strings文件复制到适当的位置。这工作得很好,并允许我们管理许多不同的构建风格。

相关问题