5

我即将完成我的第一个相对简单的 Xcode 项目(自定义安装程序),我需要进行 22 次构建。是的,这不是错字!每个版本的不同之处在于 PRODUCT_NAME、bundle Resources 文件夹中的源文件和表示软件是否为试用版的变量。

从我目前所读到的内容来看,复制现有目标似乎是在只有几个构建时这样做的方法,但对于 22 仍然如此吗?这似乎是一项非常艰巨的工作。我想到的是一种更改 PRODUCT_NAME、复制到 Resources 文件夹中的源文件和试用模式布尔值的方法。但我被困住了。

谢谢

4

4 回答 4

2

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

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

于 2009-11-16T17:49:03.963 回答
2

我过去完成此任务的一种方法是使用本地化。当您使用NSLocalizedString风味宏时,其中一些能够指定一个表名(即,与默认值不同的字符串文件)。然后,每当我需要不同品牌的构建时,我只需使用适当的键值对创建一个新的 .strings 文件。

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

于 2009-11-16T18:32:04.627 回答
1

您可能需要查看CMake以维护大量构建。

编写脚本当然可以完成工作,但是一旦项目增长到大量文件,或者如果您发现自己更改了构建数量,更改脚本可能会变得很麻烦。CMake 将允许您组织这些脚本,因此将来进行修改至少会更容易一些。

于 2009-11-16T17:44:59.977 回答
1

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

于 2009-11-16T17:43:11.510 回答