ios

iOS 脚本打包 傻瓜版

2017-11-15  本文已影响263人  SDBridge

iOS 脚本打包 傻瓜版,无需改变配置 github地址
https://github.com/housenkui/autoComplie

#! bin/bash

#

我的简书

: [http://www.jianshu.com/p/e9b3fba1bf56](http://www.jianshu.com/p/e9b3fba1bf56)

#Use:

命令行进入项目根目录直接执行

sh build.sh

即可在桌面生成

ipa

安装包

#

注意

:

使用本脚本上传到

fir.im

需要满足以下环境

:

一

. ruby

版本

>1.9.3 (

查看当前

ruby

版本

ruby -v)

二

. ruby

安装完毕

,

安装

fir.im

命令行插件

(gem install fir-cli)

export

LC_ALL=zh_CN.GB2312;

export

LANG=zh_CN.GB2312

#

一些路径的切换:切换到你的工程文件目录

---------

projectPath=$(cd

`dirname $0`

; pwd)

cd ..

cd $projectPath

###############

设置需编译的项目配置名称

buildConfig=

"Release"

#

编译的方式

,

有

Release,Debug

,自定义的

AdHoc

等

##########################################################################################

##############################

以下部分为自动生成部分,不需要手动修改

############################

##########################################################################################

#

项目名称

projectName=

`find . -name *.xcodeproj | awk -F "[/.]" '{print $(NF-1)}'`

echo

"

项目名称

:$projectName"

projectDir=

`pwd`

#

项目所在目录的绝对路径

echo $projectDir

wwwIPADir=~/Desktop/$projectName-IPA

#ipa

,

icon

最后所在的目录绝对路径

isWorkSpace=true

#

判断是用的

workspace

还是直接

project

,

workspace

设置为

true

,否则设置为

false

echo

"~~~~~~~~~~~~~~~~~~~

开始编译

~~~~~~~~~~~~~~~~~~~"

if

[ -d

"$wwwIPADir"

];

then

echo $wwwIPADir

echo

"

文件目录存在

"

else

echo

"

文件目录不存在

"

mkdir -pv $wwwIPADir

echo

"

创建

${wwwIPADir}

目录成功

"

fi

###############

进入项目目录

cd $projectDir

rm -rf ./build

buildAppToDir=$projectDir/build

#

编译打包完成后

.app

文件存放的目录

###############

获取版本号

,bundleID

infoPlist=

"$projectName/*-Info.plist"

bundleVersion=

`/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $infoPlist`

bundleIdentifier=

`/usr/libexec/PlistBuddy -c "Print CFBundleIdentifier" $infoPlist`

bundleBuildVersion=

`/usr/libexec/PlistBuddy -c "Print CFBundleVersion" $infoPlist`

###############

开始编译

app

if

$isWorkSpace ;

then

#

判断编译方式

echo

"

开始编译

workspace...."

xcodebuild

 -workspace $projectName.xcworkspace -scheme $projectName

 -configuration $buildConfig clean build SYMROOT=$buildAppToDir

else

echo

"

开始编译

target...."

xcodebuild

 -target

 $projectName

 -configuration $buildConfig clean build SYMROOT=$buildAppToDir

fi

#

判断编译结果

if

test $? -eq

0

then

echo

"~~~~~~~~~~~~~~~~~~~

编译成功

~~~~~~~~~~~~~~~~~~~"

else

echo

"~~~~~~~~~~~~~~~~~~~

编译失败

~~~~~~~~~~~~~~~~~~~"

exit

1

fi

###############

开始打包成

.ipa

ipaName=

`echo $projectName | tr "[:upper:]" "[:lower:]"`

#

将项目名转小写

findFolderName=

`find . -name "$buildConfig-*" -type d |xargs basename`

#

查找目录

appDir=$buildAppToDir/$findFolderName/

#app

所在路径

outPath=$projectPath/temp

#####

检测

outPath

路径是否存在

if

[ -d

"$outPath"

];

then

echo $outPath

echo

"

文件目录存在

"

else

echo

"

文件目录不存在

"

mkdir -pv $outPath

echo

"

创建

${outPath}

目录成功

"

fi

#sudo chmod -R 777 $outPath

echo

"

开始打包

$projectName.app

成

$projectName.ipa....."

xcrun -sdk iphoneos -v PackageApplication $appDir/$projectName.app

 -o $outPath/$projectName.ipa

###############

开始拷贝到目标下载目录

#

检查文件是否存在

if

[ -f

"$outPath/$ipaName.ipa"

]

then

echo

"

打包

$ipaName.ipa

成功

."

else

echo

"

打包

$ipaName.ipa

失败

."

exit

1

fi

Export_Path=$wwwIPADir/$projectName$(date +%Y%m%d-%H:%M:%S).ipa

cp -f -p $outPath/$ipaName.ipa $Export_Path

#

拷贝

ipa

文件

echo

"

复制

$ipaName.ipa

到

${wwwIPADir}

成功

"

rm -rf $outPath

rm -rf ./build

echo

"~~~~~~~~~~~~~~~~~~~

结束编译,处理成功

~~~~~~~~~~~~~~~~~~~"

rm -rf $buildAppToDir

rm -rf $projectDir/tmp

上一篇 下一篇

猜你喜欢

热点阅读