2011-09-27 34 views
9

我正在研究实现构建过程自动化的最佳方法。我有自己的想法(通过以前的非iOS项目的经验),但需要针对各种可能性的良好论点。从单个白标xcode项目自动执行多个构建的最佳策略?

目的:与单个目标单一的Xcode项目(认为白色标签),需要建立在1..1不同的口味(混凝土烙印),以最小的用户交互和最低技术知识。适用于AdHoc和/或AppStore。

基本上,这将意味着指定每个版本;包含图标+飞溅屏幕的文件夹,包含品牌特定资源和(可能是?)Info.plist,指定应用程序名称,捆绑ID等的包。

需要遵守或澄清的问题;

  • 通过傻瓜型GUI的单一品牌手工打造(选择一个git 分支/标签,注明了一定的品牌,配置应用程序如 启用IAP-,服务器域名,等等 - 将被写入在 info.plist中)
  • 在以前手工测试,设置在 可执行文件名plist中没有工作?对不起,已经忘记了确切的问题.. 也许只是一个Xcode调试buildconfig问题,与 分配构建不相关?
  • 代码签名?!?可以在配置文件中指定 ?某些品牌需要用客户自己的 配置文件构建。

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

似乎有大量的文档周围Xcode的解决方案,我已经看到了这个在Flex项目行动我的工作,几乎一模一样的白色标签/品牌要求。当然,这是使用Ant脚本,但没有行为配置要尊重。这是我唯一的不确定性......我怀疑它必须在某个地方进行硬编码,但这不是让一些人满意的答案。在手动构建时,希望能够通过GUI窗体指定各种应用程序配置设置(服务器URL,Foo支持的功能,X显示的视图等)。我不确定将它变成一个典型的Hudson或CC配置有多容易?

,因此一个建议,已经取得是写一个OSX应用程序构建我们的客户。理论是,非常干净的非技术用户界面,用于输入所有必要的元数据&应用程序设置和一个闪亮的绿色按钮,标记为“Build”。但个人而言,我怀疑这种方法比传统的CI解决方案更灵活或更易于实现。

所以问题基本上是什么,最好是;基于经典服务器,版本控制集成,CI方法还是自定义OSX实用程序?

无论我们选择哪种方式,几乎可以肯定是在2天或3天内(明确不到一周)才能正常运行。

+1

我也在寻找类似的东西。你有没有找到解决方案? –

回答

0

恕我直言,您可以使用XCode的不同目标解决所有问题。

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

  • 与diferent签单型材
  • 使用diferent的plist:这意味着具有不同的名字..
  • 使用diferent品牌形象。您只需为图像命名并在文件检查器中选择正确的目标。
  • 用XCode单击即可构建。

我希望这有助于

0

极其后来答复,但我会采取的做法是创建白色标签IPA,然后创建一个脚本: 1.解压缩它(改变。 ipa文件扩展名为.zip)。 2.更改资产。 更新info.plist(使用Plistbuddy命令) 再次编码。 辞职代码。

看到这个脚本为出发点:https://gist.github.com/catmac/1682965

+0

如果您只有几个白标工程要做,您可以通过每次创建新目标来采取其他地方提到的方法。但是,这可能会导致大量目标难以实施。 – Ronan

0

很晚了答案。但我会去与不同的.xcconfig文件和多个计划。计划名称可以是target/brand的组合。