最近一直在研究ios的自动打包过程,现在把研究过程分享一下:

普通打包一共三步,网上介绍的比较详细,先写下来:

1,xcodebuild -target discus clean   清理


2,xcodebuild -target xxxx CODE_SIGN_IDENTITY="iPhone Distribution:aaaa"   编译    xxxx=工程名称   aaaa=发布证书名称


3,xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/xxxx.app -o ~/Desktop/bbbb.ipa     打包xxxx=上一步编译生成的app  bbbb=你要生成的ipa名称


这只是基本的一些参数,当然还有很多参数可以添加,比如选择sdk的版本iphoneos7.0,之类的具体的可以到终端CD到一个工程路径下 用xcodebuild --help 和 xcrun --help查看


说一下我遇到的问题,首先是我用的企业证书,打包发布的时候有一个选项save for enterprise 要勾选,添加application url 和 title 如下图。但是我发现在第三步打包的时候命令行没有参数可以添加这个内容,研究半天只能放弃从其他方面入手。如果有同学曾经勾选过save for enterprise打包的话,你会发现,打包之后会生成个同名的plist文件,用来旺火安装。这plist就是解决问题的关键,plist里面的内容就是我们手动打包是添加的application url 和tiitle,如果你想自动打包可以像手动打包一样要生成配套的plist文件的话,这样做:1,先手动打包生成一个plist文件,作为永久模版。2,在自动化第三步打包之后,再运行一个脚本,cpoy一份到ipa路径下,更改plist内容相应内容即可。解决。

ios 自动化 app ios 自动化打包_iphone




第二个让我郁闷的问题就是,图片资源的更改问题,大家都知道,在xcode中添加成文件夹要右键add,然后选中工程,才算添加到整个工程中。因为自动生成的关系,有一些图片资源的文件夹要进行更改和添加,我找不到相关命令行去做这个工作,于是我就按照上一个方法尝试了一次,就是在模版工程内add了一个模版文件夹,之后我如果想在这个文件夹添加另外一下图片或者文件夹,就可以让脚本先把这个文件夹删除,然后重新添加新的文件夹,但是新旧文件夹必须是同名才行,否者无效。虽然这个是笨办法,但是暂时解决了我某些文件夹的自动更换问题。

ios 自动化 app ios 自动化打包_iphone_02