我正在研究自动化构建过程的最佳方法。我已经有了自己的想法(基于之前非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
的组合