在《iOS项目管理: 利用Target来管理项目的调试、测试、发布等不同版本或者OEM版本》中提到,直接把客户相关的打包信息(比如bundle ID,启动图片等等)存放到对应的target下边,这样的好处是,一个项目就囊括了所有的OEM版本信息,只要点击切换target就可以完成不同项目的切换。一切都看起来这么美好~
但是这么做的风险也是巨大的,因为如果上段中的这个多target工程泄露之后,你所有的客户的打包信息,也随之全部泄露。这个代价是很沉痛的!所以多target管理用户的打包信息最终被我们废弃了。
我们现在用多target管理自身原生项目的debug,test,release版本环境的切换,这个还是可以的。
替代多target管理客户打包信息,自然是分开处理,这样即使泄露要比直接一个工程就全部泄露完没有一点回旋的余地要好的多。 fastlane的自身的打包文件夹,名为fastlane,它的路径是在我们项目根目录下的,我们尝试把包括客户文件夹放到fastlane文件夹下,到时候直接替换fastlane
文件夹即可。
之所以这么做,是因为fastlane文件夹中的Appfile
,Deliverfile
和Fastfile
中的信息我们也是需要替换的。直接替换fastlane
一劳永逸。
另外,我们不用担心在fastlane
加入其它一些文件会影响fastlane打包,实际测试不产生影响,fastlane只会找它需要的文件。并且,你只要在一个工程上执行fastlane init
命令生成fastlane
文件夹就可以了,之后其他的相同的工程只要拖进fastlane
文件夹,执行fastlane release
命令就可以了,不需要重复执行fastlane init
命令。
好了,OEM打包管理现在的处理方案就是这样。 因为自身能力和环境的约束,我的方案可能并不是最好的,只是拿出来和大家分享。如果有朋友有其他更高的方案,一定要私信或者留言告诉我啊,大家一起进步!!!
附录中,使我们现行工程的一些配置,我的配置基本没有改动
附录
交流
希望能和大家交流技术
Blog:http://www.lilongcnc.cc