iOS中使用脚本打包项目
2016-04-28 09:21
399 查看
在学习使用脚本打包项目时,先了解一下基本的shell语法http://blog.csdn.net/u011583971/article/details/50968243这里是少量的,可以查阅更多的语法知识,方便我们对脚本打包有更深刻的认识。
这里介绍的以我所在项目打包为例:
因为要具体问题具体对待,所以需要你自己好好整理啦
#!/bin/bash
set -e
SDKHome=AdSDK
SampleAppHome=AdSDKSampleApp
DocsHome=docs
ReleaseHome=releases
SDKVersion=1.0.0
#build SDK and TestApp
pushd `pwd`
cd $SDKHome
build_lib(){
local target=$1
local name=$2
local tmp_base=Outputs/$name/tmp
local lib_root=Outputs/$name
rm -rf $lib_root
mkdir -p $lib_root
mkdir -p $tmp_base
xcodebuild -target $target -sdk iphonesimulator -arch x86_64 -configuration Release clean build|xcpretty
mv build/Release-iphonesimulator/$name.a $tmp_base/$name-x86_64.a
xcodebuild -target $target -sdk iphonesimulator -arch i386 -configuration Release clean build|xcpretty
mv build/Release-iphonesimulator/$name.a $tmp_base/$name-i386.a
xcodebuild -target $target -sdk iphoneos -arch arm64 -configuration Release clean build|xcpretty
mv build/Release-iphoneos/$name.a $tmp_base/$name-arm64.a
xcodebuild -target $target -sdk iphoneos -arch armv7 -configuration Release clean build|xcpretty
mv build/Release-iphoneos/$name.a $tmp_base/$name-armv7.a
xcodebuild -target $target -sdk iphoneos -arch armv7s -configuration Release clean build|xcpretty
mv build/Release-iphoneos/$name.a $tmp_base/$name-armv7s.a
lipo $tmp_base/$name-x86_64.a \
$tmp_base/$name-armv7.a \
$tmp_base/$name-arm64.a \
$tmp_base/$name-i386.a \
$tmp_base/$name-armv7s.a \
-create -output $lib_root/$name.a
rm -rf $tmp_base
for i
in ${@:3}
do
cp $i $lib_root/${i##*/}
done
echo build lib:$name succeed.
}
#build libSTAdSDK
build_lib AdSDK libAdSDK \
AdSDK/Ad.h // 打包AdSDK文件下的 除了Ad.h文件 到文件夹libAdSDK下
这里介绍的以我所在项目打包为例:
因为要具体问题具体对待,所以需要你自己好好整理啦
#!/bin/bash
set -e
SDKHome=AdSDK
SampleAppHome=AdSDKSampleApp
DocsHome=docs
ReleaseHome=releases
SDKVersion=1.0.0
#build SDK and TestApp
pushd `pwd`
cd $SDKHome
build_lib(){
local target=$1
local name=$2
local tmp_base=Outputs/$name/tmp
local lib_root=Outputs/$name
rm -rf $lib_root
mkdir -p $lib_root
mkdir -p $tmp_base
xcodebuild -target $target -sdk iphonesimulator -arch x86_64 -configuration Release clean build|xcpretty
mv build/Release-iphonesimulator/$name.a $tmp_base/$name-x86_64.a
xcodebuild -target $target -sdk iphonesimulator -arch i386 -configuration Release clean build|xcpretty
mv build/Release-iphonesimulator/$name.a $tmp_base/$name-i386.a
xcodebuild -target $target -sdk iphoneos -arch arm64 -configuration Release clean build|xcpretty
mv build/Release-iphoneos/$name.a $tmp_base/$name-arm64.a
xcodebuild -target $target -sdk iphoneos -arch armv7 -configuration Release clean build|xcpretty
mv build/Release-iphoneos/$name.a $tmp_base/$name-armv7.a
xcodebuild -target $target -sdk iphoneos -arch armv7s -configuration Release clean build|xcpretty
mv build/Release-iphoneos/$name.a $tmp_base/$name-armv7s.a
lipo $tmp_base/$name-x86_64.a \
$tmp_base/$name-armv7.a \
$tmp_base/$name-arm64.a \
$tmp_base/$name-i386.a \
$tmp_base/$name-armv7s.a \
-create -output $lib_root/$name.a
rm -rf $tmp_base
for i
in ${@:3}
do
cp $i $lib_root/${i##*/}
done
echo build lib:$name succeed.
}
#build libSTAdSDK
build_lib AdSDK libAdSDK \
AdSDK/Ad.h // 打包AdSDK文件下的 除了Ad.h文件 到文件夹libAdSDK下
相关文章推荐
- iOS开发之运动事件和远程控制
- 【代码笔记】iOS-判断是否是模拟机
- iOS之简单瀑布流的实现
- 关于图片转化为NSDATA
- ios goto语法。
- iOS开发之手势识别
- iOS 上架提示ipad需要显示四个方位,而我们只能竖屏的时候的解决办法
- ios7设计思想(界面坐标上移的原因)
- iOS开发: iOS蓝牙4.0开发例子
- JSPatch -- iOS hotfix
- iOS之深入了解控制器View的加载
- No architectures to compile for (ONLY_ACTIVE_ARCH=YES, active arch=x86_64, VALID_ARCHS=i386).
- 摆脱孤独:same IOS打造情感共鸣
- 极致阅读体验:简书IOS功能拆解分析
- iOS中的屏幕适配
- iOS中收回键盘
- iOS中判断程序是不是第一次运行(新手引导界面用)
- iOS中各种手机型号的分辨率及软件图标的制作
- iOS中单例NSUserDefaults的使用 (转)
- iOS获取设备型号、设备类型等信息