Skip to content

liugangios/XcodeAutoBuild

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 

Repository files navigation

XcodeAutoBuild

iOS自动打包脚本制作

在工程根目录下新建两个文件

项目文件夹

DevelopmentExportOptionsPlist.plist用来指定打包的类型,xcodebuild.sh是打包执行的shell脚本文件。

DevelopmentExportOptionsPlist.plist 文件内容

method的类型为String,用来指定打包ipa的类型,有以下可选项app-store、enterprise、ad-hoc、development,默认为development

xcodebuild.sh文件中包括一些需要配置的参数,工程名project_name、打包模式development_mode、scheme名scheme_name

打包的工程文件分两种(是否包含cocoapods):projectworkspace,如果需要打包的是project,则在archieve中将-workspace替换为-project,将.xcworkspace的路径替换为.xcodeproj的路径

#工程名(自定义)
project_name=eHRmobile

#打包模式 Debug/Release(自定义)
development_mode=Release

#scheme名(自定义,一般与工程名相同)
scheme_name=eHRmobile

#plist文件所在路径
exportOptionsPlistPath=./DevelopmentExportOptionsPlist.plist

#导出.ipa文件所在路径
exportFilePath=~/Desktop/$project_name-ipa

echo '*** 正在 清理工程 ***'
xcodebuild \
clean -configuration ${development_mode} -quiet  || exit 
echo '*** 清理完成 ***'


echo '*** 正在 编译工程 For '${development_mode}
xcodebuild \
archive -workspace ${project_name}.xcworkspace \
-scheme ${scheme_name} \
-configuration ${development_mode} \
-archivePath build/${project_name}.xcarchive -quiet  || exit
echo '*** 编译完成 ***'


echo '*** 正在 打包 ***'
xcodebuild -exportArchive -archivePath build/${project_name}.xcarchive \
-configuration ${development_mode} \
-exportPath ${exportFilePath} \
-exportOptionsPlist ${exportOptionsPlistPath} \
-quiet || exit

# 删除build包
if [[ -d build ]]; then
    rm -rf build -r
fi

if [ -e $exportFilePath/$scheme_name.ipa ]; then
    echo "*** .ipa文件已导出 ***"
    cd ${exportFilePath}
    echo "*** 开始上传.ipa文件 ***"
    #此处上传分发应用
    echo "*** .ipa文件上传成功 ***"
else
    echo "*** 创建.ipa文件失败 ***"
fi
echo '*** 打包完成 ***'

自动打包(需在项目中配置好描述文件、开发者证书) 使用方式: 在终端中进入*.xcodeproj上级目录 输入./xcodebuild.sh即可自动打包、如无执行权限则先执行chmod +x xcodebuild.sh

最后会在桌面上生成打包完成的ipa文件夹。


参考文章:

iOS 制作自动打包脚本 Xcode8.3.2 自动打包脚本

Releases

No releases published

Packages

No packages published

Languages