美文网首页ios
iOS 脚本打包 傻瓜版

iOS 脚本打包 傻瓜版

作者: SDBridge | 来源:发表于2017-11-15 10:59 被阅读263次

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

相关文章

  • iOS 脚本打包 傻瓜版

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

  • Xcode自动打包

    [iOS]从零开始写个自动打包IPA脚本 【iOS打ipa包】:使用终端实现自动打包 iOS自动打包并发布脚本

  • iOS自动打包ipa(shell脚本)

    系列 iOS自动打包ipa(shell脚本)iOS自动打包ipa(Python脚本) 安装xctool shell...

  • iOS自动打包ipa(Python脚本)

    系列 iOS自动打包ipa(shell脚本)iOS自动打包ipa(Python脚本) 安装Python库 Pyth...

  • iOS脚本一键打包

    ios打包脚本的使用 相关链接: 1. IOS工程自动打包并发布脚本的实现。 2. Xcode中Command L...

  • 2019-02-15

    ios打包时签名失败 ios打包时证书和provisioningprofile都已经切换更新,打包脚本中指定tea...

  • iOS自动打包脚本

    iOS自动打包脚本 iOS自动打包脚本,并实现图片素材、文字资源、部分代码的替换和重签名,基于python实现。 ...

  • ios-面试-脚本打包原理

    脚本打包,自然是为了方便打包,便于ios开发不用手动打包,便于非ios开发能去打包! 打包过程 Xcode打包的过...

  • iOS面试题:脚本打包

    脚本打包,自然是为了方便打包,便于ios开发不用手动打包,便于非ios开发能去打包! 打包过程 Xcode打包的过...

  • iOS开发知识体系之《脚本自动化打包--xcodebuild》

    iOS脚本自动化打包方案--xcodebuild 本文主要xcodebuild脚本自动化打包并上传到蒲公英或者Ap...

网友评论

  • 白色天空729:buildConfig="Release" #编译的方式,有Release,Debug,自定义的AdHoc等

    这句命令,假如我想上传到商店是要改这个吗?但是我改成了AdHoc 却出现打包失败的。
    白色天空729:@Coder_Hou okay 好的。谢谢
    SDBridge:@白色天空729 上传到应用市场,不建议使用脚本,建议使用Xcode
  • 白色天空729:可以安装上真机。。。
    ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.etong.mcgdyyOA [Payload/mcgdyyOAMix.app] is invalid. [Missing code-signing certificate]. A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."

    但是上传到商店报这错误。
  • 白色天空729:为啥 比自带的xcode 打出的包小了很多呀
    白色天空729:@Coder_Hou 还没试过 不过 上传的时候 报错了 说是证书错误。
    SDBridge:@白色天空729 可以安装在真机上面吗?
  • boxKUn:不行啊 老哥 文件目录不存在
  • 浩青:文件目录不存在
    创建/Users/dy028/Desktop/Mining/temp目录成功
    开始打包Mining.app成Mining.ipa.....
    xcrun: note: PATH = '/Users/dy028/.rvm/gems/ruby-2.4.0/bin:/Users/dy028/.rvm/gems/ruby-2.4.0@global/bin:/Users/dy028/.rvm/rubies/ruby-2.4.0/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/Users/dy028/.rvm/bin'
    xcrun: note: SDKROOT = '/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk'
    xcrun: note: TOOLCHAINS = ''
    xcrun: note: DEVELOPER_DIR = '/Applications/Xcode.app/Contents/Developer'
    xcrun: note: XCODE_DEVELOPER_USR_PATH = ''
    xcrun: note: xcrun_db = '/var/folders/3r/52kdgxfn60gf_vj8d7r3s_980000gn/T/xcrun_db'
    xcrun: note: xcrun via PackageApplication (xcrun)
    xcrun: note: database key is: PackageApplication|/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk||/Applications/Xcode.app/Contents/Developer|
    xcrun: note: looking up with '/Applications/Xcode.app/Contents/Developer/usr/bin/xcodebuild -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk -find PackageApplication 2> /dev/null'
    xcrun: error: unable to find utility "PackageApplication", not a developer tool or in PATH
    打包mining.ipa失败.
    DY028tekiMac-mini:Mini

本文标题:iOS 脚本打包 傻瓜版

本文链接:https://www.haomeiwen.com/subject/hsjcvxtx.html