我正在研究使构建过程自动化的最佳方法。我有自己的想法(通过以前的非iOS项目的经验),但是需要支持和反对各种可能性的良好论据。

目标:需要以1..N种不同的风格(具体品牌)构建具有单个目标(带有白色标签)的单个xcode项目,并且需要最少的用户交互和最少的技术知识。对于AdHoc和/或AppStore。

从本质上讲,这将意味着按构建进行指定。一个包含Icons + Splashscreen的文件夹,一个包含品牌特定资源和(可能是?)Info.plist的捆绑包,指定应用程序名称,bundle-id等。

需要尊重或澄清的问题;

  • 通过Idiot-Proof GUI手动构建单个品牌(选择git
    分支/标签,指定某个品牌,配置应用,例如
    启用了IAP的服务器域名等-将被写入
    info.plist)
  • 在以前的手动测试中,在
    该plist没有工作?抱歉,忘记了确切的问题..
    也许仅仅是Xcode Debug buildconfig问题,与
    发行版本?
  • 代码签名?!?可以指定配置文件
    即时?有些品牌需要由客户自己打造
    轮廓。

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

    似乎有很多关于Xcode解决方案的文档,而且我在我从事的Flex项目中看到了这一点,并且白标签/品牌要求几乎完全相同。当然,那是使用Ant脚本的,并且没有行为配置值得尊重。这是我唯一的不确定性……我怀疑它必须在某个地方进行硬编码,但这并不是要取悦某些人的答案。希望能够在手动构建时通过GUI表单指定各种app-config设置(服务器url,是否支持Foo功能,是否显示 View X等)。我不确定将它拔成典型的Hudson或CC配置有多么容易?

    因此,提出的一个建议是编写一个OSX应用程序来构建我们的客户。理论上讲,用于输入所有必要的元数据和应用程序设置的漂亮干净的非技术用户界面,以及一个标有“构建”的绿色 Shiny 大按钮。但是我个人怀疑这种方法是否比传统的CI解决方案更灵活或更易于实现。

    因此,问题基本上是什么才是更可取的。基于经典服务器,集成版本控制的CI方法还是自定义OSX实用程序?

    无论我们采用哪种方式,几乎都肯定需要在2或3天(绝对不到一周的时间)内启动并运行它。

    最佳答案

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

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

  • 使用不同的配置文件签名
  • 使用不同的plist:这意味着具有不同的名称。
  • 使用不同的品牌图片。您只需要使用相同的名称命名图像,然后在文件检查器中选择正确的目标即可。
  • 在XCode中一键构建。

  • 我希望这有帮助

    关于xcode - 从单个白标xcode项目自动化多个构建的最佳策略?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7570132/

    10-10 21:14
    查看更多