从单个白标xcode项目自动化多个构建的最佳策略



我正在研究自动化构建过程的最佳方法。我已经有了自己的想法(基于之前非ios项目的经验),但还需要一些论据来支持和反对各种可能性。

目标:一个单一的xcode项目与一个单一的目标(想想白标)需要在1..N种不同的口味(具体品牌),最少的用户互动和最少的技术知识。对于AdHoc和/或AppStore。

本质上,这将意味着指定每个构建;一个包含Icons + Splashscreen的文件夹,一个包含品牌特定资源和Info(大概?)的包。列表,指定appname, bundle-id等

需要尊重或澄清的问题;

  • 通过傻瓜式GUI手动构建单个品牌(选择git)分支/标签,指定某个品牌,配置应用程序,例如:启用iap,服务器域名等-将被写入info.plist)
  • 在以前的手动测试中,在列表不起作用?对不起,我忘了具体的问题了。也许只是一个Xcode调试构建配置问题,不相关发行版构建?
  • 代码签名? ! ?可以指定配置文件吗动态吗?有些品牌需要建立在消费者自己的基础上概要。

我个人的感觉:Hudson或者CruiseControl + Xcode插件。

关于Xcode的解决方案似乎有很多文档,我在我参与的一个Flex项目中看到了这一点,几乎完全相同的白标/品牌要求。当然,这是使用Ant脚本,没有行为配置要尊重。这是我唯一不确定的……我怀疑它必须被硬编码在某个地方,但这不是会让一些人满意的答案。有一个希望能够指定各种应用程序配置设置(服务器url,是函数Foo支持,是视图X显示等),通过GUI形式,手动构建时。我不确定将其硬塞到典型的Hudson或CC配置中有多容易?

因此,一个建议是写一个OSX应用程序来构建我们的客户端。理论是,干净的非技术UI输入所有必要的元数据& &;应用程序设置和一个标有"构建"的闪亮绿色大按钮。但就我个人而言,我怀疑这种方法是否比传统的CI解决方案更灵活或更容易实现。

所以问题基本上是,什么更可取;是经典的基于服务器、集成版本控制的CI方法,还是定制的OSX实用工具?

无论我们选择哪一个,几乎可以肯定的是,在2到3天内(绝对少于一周)就可以启动并运行。

我认为你可以使用不同的XCode目标来解决所有问题。

每个目标将共享代码,但它可以:

  • 使用不同的配置文件签名
  • 使用不同的plist:这意味着有不同的名称。
  • 使用不同的品牌形象。你只需要用相同的名字命名图像,并在文件检查器中选择正确的目标。
  • 在XCode中一键构建。

希望对大家有所帮助

一个非常晚的回复,但我将采取的方法是创建白色标签IPA,然后创建一个脚本:1. 将其解压缩(将.ipa文件扩展名改为.zip)。2. 改变资产。更新信息。plist(使用Plistbuddy命令)再拉上拉链。退出代码

将此脚本作为起点:https://gist.github.com/catmac/1682965

很晚才回答。但我会使用不同的.xcconfig文件和多种方案。方案名称可以是target/brand的组合

最新更新