• 最近研究xcodebuild批量打包的一些心得


    http://blog.csdn.net/tlb203/article/details/8131707

    转自Rainbird的个人博客

    以前的时候只知道做安卓开发的兄弟挺辛苦的,不但开发的时候要适配一堆的机型,好不容易开发完了还要打一堆不同的包给不同的市场。没想到现在这些市场都开辟iOS市场,于是需要打一堆的包给不同的市场,面对暂时给的十二个渠道,批量打包迫在眉睫。于是也便有了这篇小结。
    通过一翻搜索和学习,打包这事儿就是让xcrun来干,而xcodebuild只是xrun的一个软链接,但是这一链却有了不同的分工:
    xcodebuild负责将工程源文件编译成xxx.app
    xcrun负责给xxx.app(签名并)打包成xxx.ipa
    先说我是咋干的。
    第一步清理:

    /usr/bin/xcodebuild -target targetName clean

    第二步编译:

    /usr/bin/xcodebuild -target targetName

    第三步打包:

    /usr/bin/xcrun -sdk iphoneos PackageApplication -v path/To/xxx.app -o xxx.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格式,表示不理解这些牛人们为什么要费力自已实现一遍。
    注意事项:以上两个命令必需在xxx.xcodeproj所在的目录执行
    高级用法:给应用签名。上面两个命令都可以给应用签名的,格式分别是:

    xcodebuild -target targetName CODE_SIGN_IDENTITY="iPhone Distribution:XXXXXX"
    xcrun -sdk iphoneos PackageApplication -v 源app路径 -o 输出的ipa路径 --sign "iPhone Distribution:XXXXXX"

    基本就这样了,接下来批量工作,至于是用bash脚本还是apple script就看个人喜好了,我是不会告诉你我现在喜欢写mac小程序的。

  • 相关阅读:
    linux下wc命令详解
    用shell脚本监控进程是否存在 不存在则启动的实例附带if判断详细条件
    shell脚本输出给字体带颜色
    在centos6.5下安装配置docker
    php lock_sh共享锁 与 lock_ex排他锁
    hadoop streaming 多路输出 [转载]
    gzip压缩及测试方法【转载】
    天空没有翅膀的痕迹,而我已飞过
    logrotate机制与原理[转载]
    服务器 数据库 问题定位的几个工具
  • 原文地址:https://www.cnblogs.com/xuejinhui/p/4522428.html
Copyright © 2020-2023  润新知