关于批量化生产 iOS 应用的一点想法
目标:通过代码,编译,打包生成 IPA 后,然后通过修改 IPA,再签名,打包生成更多的 IPA。
前提:iOS 应用程序是可配置的,不管是通过配置文件,还是暴露出来的 SDK(比如:以Lua 方式向外暴露)。
相关工具与资料:
https://code.google.com/p/iresign/
关于 SDK 设计的一点想法:
首先需要思考下:SDK 是程序向外暴露的功能,那 SDK 本身暴露的是什么?我觉得应该是程序的对象模型。
行业中有很多优秀的软件可以让我们参考,比如:Emacs。
实践中可以参考 Emacs:
1、定义出程序的对应模型与功能。
2、将模型的一部分或者功能的一部分通过 SDK 的方式暴露出去。比如:Lua
3、将打包好的 IPA 程序进行解压缩,修改、添加脚本,以便达到修改程序外观与功能的目的。
4、重新签名、打包(可以使用不同的证书)。
5、上传 AppStore。
方法应该比较简单,重点在于对象模型与SDK的设计,比如:沙箱的考虑等等。
另外,强烈推荐使用 Lua 作为 SDK。
=============================================================
修改(2012-06-11):
由于在生成 .app 时只是对代码进行签名,不对资源进行签名。
因此可以保留 .app ,修改其中的配置,然后再将 .app 签名,打包成 ipa。