xcodebuild和xcrun的打包

通过一翻搜索和学习,打包这事儿就是让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"

上面的xcodebuild命令都是打包情况下,要是想选择模拟器下编辑可以用一下方法。

1.查看xcode的版本号和build版本

$ xcodebuild -version

显示内容:

Xcode 4.2
Build version 4D199

 

2.显示当前系统的sdk、及其版本

$ xcodebuild -showsdks

显示内容:

复制代码
Mac OS X SDKs:
    Mac OS X 10.6                     -sdk macosx10.6
    Mac OS X 10.7                     -sdk macosx10.7

iOS SDKs:
    iOS 5.0                           -sdk iphoneos5.0

iOS Simulator SDKs:
    Simulator - iOS 5.0               -sdk iphonesimulator5.0
复制代码

 

3.显示工程项目信息

先cd到工程目录下(有*.xcodeproj的目录,比如MakeFileTest.xcodeproj),然后输入命令

$ xcodebuild -list

显示内容

复制代码
Information about project "MakeFileTest":
    Targets:
        MakeFileTest

    Build Configurations:
        Debug
        Release

    If no build configuration is specified and -scheme is not passed then "Release" is used.

    Schemes:
        MakeFileTest
复制代码

如果未指定Configurations,默认为release

 

4.xcodebuild用法:

1)用ios5.0模拟器(iphonesimulator5.0)建立工程

$ xcodebuild -sdk iphonesimulator5.0

输出一堆编译过程,最后输出** BUILD SUCCEEDED **表示创建成功;

若输出** BUILD FAILED **表示创建失败

成功后会在当前工程目录下创建build目录,结构如下:

MakeFileTest.app就是编译生成的可执行文件,

而MakeFileTest.build文件夹下是一些中间文件

2)默认是Release工程,要设置成Debug模式如下:

$ xcodebuild -sdk iphonesimulator5.0 -configuration Debug

3)clean创建的工程

$ xcodebuild clean -sdk iphonesimulator5.0 -configuration Debug

成功输出**CLEAN SUCCEEDED**


但是怎么批量打包,可以参考jenkins


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值