命令行生成ipa经验总结 (脚本打包)

话说,大神都是用来膜拜的,只言片语,抛砖引玉。关键时刻还得靠自己去试错,下面把自己的试验结果给出,让大家少走弯路。

先说一下背景:

上一个项目,lbs,进度也不是很紧,xcode编译,拖拖拽拽生成ipa,测试、上传,倒不觉繁琐。来到新公司,oem好吧,一个项目要分别给十多个厂商做版,拖拖拽拽就晕倒了,无意看到xcodebuild 和xcrun的用法,试着用命令行又玩不转,于是放下。最近实在受不了拖拖拽拽的生活了,发狠给写了个脚本,然后,整个世界清净了。

说说下面的脚本:

生成ipa的前两个脚本,需要进入.xcodeproj那个目录中执行。

其中,factory,appName,version这些变量在另一个脚本中定义,方便调用。

第一个脚本是用来生成测试ipa和上传ipa的,第二个脚本是用来生成测试ipa的,第三个脚本是用来删除.svn文件的,主要用于版本控制了。需要的童鞋拿去改改就行了。

#!/bin/sh

target="Power7 MobileView"

distDir="/Users/tuchangwei/Documents/WorkSpace/Release/${factory}/${appName}_V${version}"

rm -rdf "$distDir"

mkdir "$distDir"

 

uploadDir="${distDir}/Upload AppStore"

rm -rdf "$uploadDir"

mkdir "$uploadDir"

 

/usr/bin/xcodebuild -target "$target" clean

 

echo "******************start build*********************"

/usr/bin/xcodebuild -target "$target" CODE_SIGN_IDENTITY="$distribution"

 

 

echo "******************start pick .ipa*********************"

/usr/bin/xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/*.app -o"${uploadDir}/${appName}.ipa" --sign"$distribution"

 

echo "******************start pick test .ipa*********************"

codesign -f --sign "iPhone Developer: Nelson Chen (JPMGJWJFAQ)" build/Release-iphoneos/*.app

/usr/bin/xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/*.app -o"${distDir}/${appName}_V${version}.ipa" --sign"iPhone Developer: Nelson Chen (JPMGJWJFAQ)" --embed"/Users/tuchangwei/Library/MobileDevice/Provisioning Profiles/D788EEA0-848E-4F5E-AA30-87D38154DA9B.mobileprovision"


#!/bin/sh

target="Power7 MobileView"

distDir="/Users/tuchangwei/Desktop/Test"

rm -rdf "$distDir"

mkdir "$distDir"

 

 

/usr/bin/xcodebuild -target "$target" clean

 

echo "******************start build*********************"

/usr/bin/xcodebuild -target "$target" 

 

 

echo "******************start pick test .ipa*********************"

codesign -f --sign "iPhone Developer: Nelson Chen (JPMGJWJFAQ)" build/Release-iphoneos/*.app

/usr/bin/xcrun -sdk iphoneos PackageApplication -v build/Release-iphoneos/*.app -o"${distDir}/test.ipa" --sign"iPhone Developer: Nelson Chen (JPMGJWJFAQ)" --embed"/Users/tuchangwei/Library/MobileDevice/Provisioning Profiles/D788EEA0-848E-4F5E-AA30-87D38154DA9B.mobileprovision"


#!/bin/sh

 

echo "start delete .svn..."

find $PWD/ -name .svn -print0 | xargs -0 rm -rf

echo "finish delete .svn."


From: http://www.cnblogs.com/ThankForYou/archive/2012/12/29/2838606.html

See also: http://www.kuqin.com/mobile/20111130/315566.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值