ipa自动打包-xcodebuild
2016-05-19 11:47
501 查看
由于公司产品的业务逻辑比较特殊,需要为每个不同的商家打包ipa放到服务器给用户下载,当需要打包的数量达到几百甚至上千的时候...简直是不敢去想每次打包要花费多大人力和精力去做这件事,一旦中间发现个小问题,又要全部重新打包,手不累,眼睛已经疲了。为了应对这种情况,只能想想办法能不能自动的打好所有商家的包?话不多说,直奔主题
通过一翻搜索和学习,打包这事儿就是让xcrun来干,而xcodebuild只是xrun的一个软链接,但是这一链却有了不同的分工:
其实很简单,思路
第一种,xcodeproj工程打包
1.xcodebuild负责将工程源文件编译成XX.app
2.xcrun负责给xx.app签名并打包成xx.ipa
第一步:切换到工程目录下:
cd projectPath
第二步:清理
/usr/bin/xcodebuild -target targetName clean
第三步:编译
/usr/bin/xcodebuild -configuration \"Release\" -target targetName build
第四步:打包
/usr/bin/xcrun -sdk phones PackageApplication -v path/To/xx.app -o xx.ipa
在此解释一下:
关于xcodebuild,xcodebuild -target target名 就完成了一次编译工作,因为xcodebuild默认的一个参数就是build,即完整的命令就是:xcodebuild -target target build。而打包前清理的话就是xcodebuild -target target clean了。为什么打包前要先清理呢?因为清理一下能保证打的包肯定是干净的而且打包过程不会出问题
关于xcrun,直接打包的参数就是 xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径
关于xcrun要更新的一个认识就它的打包功能,查资料的时候发现好多牛人都是直接用xcodebuild编译,然后自已手动用zip将编译好的app打包成ipa格式,表示不理解这些牛人们为什么要费力自已实现一遍。
注意事项:以上两个命令必需在xx.xcodeproj所在的目录执行
高级用法:给应用签名。上面两个命令都可以给应用签名的,格式分别是:
xcodebuild -target targetName CODE_SIGN_IDENTITY="iPhone Distribution:XXXXXX"
xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 --sign "iPhone Distribution:XXXXXX"
第二种,基于cocoapods打成ipa包
也就是在workspace工作空间中,
只需要把第二步改为
/usr/bin/xcodebuild -workspace xx.xcworkspace -scheme xx clean
第三步改为
/usr/bin/xcodebuild -workspace xx.xcworkspace -scheme xx -sdk iphoneos build
基本就这样了,接下来批量工作,至于是用bash脚本还是apple script就看个人喜好了,我是不会告诉你我现在喜欢写mac小程序的。
通过一翻搜索和学习,打包这事儿就是让xcrun来干,而xcodebuild只是xrun的一个软链接,但是这一链却有了不同的分工:
其实很简单,思路
第一种,xcodeproj工程打包
1.xcodebuild负责将工程源文件编译成XX.app
2.xcrun负责给xx.app签名并打包成xx.ipa
第一步:切换到工程目录下:
cd projectPath
第二步:清理
/usr/bin/xcodebuild -target targetName clean
第三步:编译
/usr/bin/xcodebuild -configuration \"Release\" -target targetName build
第四步:打包
/usr/bin/xcrun -sdk phones PackageApplication -v path/To/xx.app -o xx.ipa
在此解释一下:
关于xcodebuild,xcodebuild -target target名 就完成了一次编译工作,因为xcodebuild默认的一个参数就是build,即完整的命令就是:xcodebuild -target target build。而打包前清理的话就是xcodebuild -target target clean了。为什么打包前要先清理呢?因为清理一下能保证打的包肯定是干净的而且打包过程不会出问题
关于xcrun,直接打包的参数就是 xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径
关于xcrun要更新的一个认识就它的打包功能,查资料的时候发现好多牛人都是直接用xcodebuild编译,然后自已手动用zip将编译好的app打包成ipa格式,表示不理解这些牛人们为什么要费力自已实现一遍。
注意事项:以上两个命令必需在xx.xcodeproj所在的目录执行
高级用法:给应用签名。上面两个命令都可以给应用签名的,格式分别是:
xcodebuild -target targetName CODE_SIGN_IDENTITY="iPhone Distribution:XXXXXX"
xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 --sign "iPhone Distribution:XXXXXX"
第二种,基于cocoapods打成ipa包
也就是在workspace工作空间中,
只需要把第二步改为
/usr/bin/xcodebuild -workspace xx.xcworkspace -scheme xx clean
第三步改为
/usr/bin/xcodebuild -workspace xx.xcworkspace -scheme xx -sdk iphoneos build
基本就这样了,接下来批量工作,至于是用bash脚本还是apple script就看个人喜好了,我是不会告诉你我现在喜欢写mac小程序的。
相关文章推荐
- Eclipse中改变默认的workspace的方法及说明详解
- 解决MyEclipse中的Building workspace问题的三个方法
- xcodebuild和xcrun自动化编译ipa包 笔记
- 破解xcode_3.2.6 免证书运行程序到iPhone4.2.1 真机联调 调试 发布ipa
- Myeclipse中workspace打不开的处理办法
- 解决Eclipse 启动后总是Building WorkSpace(sleeping)
- JAVA笔记【20131209】
- iOS企业开发In House ipa发布流程
- [IOS]企业发布无线安装APP
- AppNinja 开发手记3: 安装 ipa 的本地 http 服务器 plist
- iOS持续部署平台(一):SHENZHEN
- android自动打包
- Android 自动 打包
- iOS企业开发In House ipa发布流程
- iOS自动打包总结
- xFace App Workspace 介绍
- R语言Fisher检验的workspace问题
- iOS打包成越狱用户能安装的ipa
- unity生成以及xcode命令行打包ipa以及签名
- eclipse导入Java工程提示“No projects are found to import”