Xcodebuild自动打包脚本与自动上传蒲公英脚本

脚本 SYIPAGeneratedScript

脚本文件"xxx.sh"使用"Sublime_Text"工具进行编辑。
在终端执行脚本时的命令:sh xxx.sh

脚本功能说明:在终端,使用xcodebuild进行自动打包,以及上传到蒲公英。

Xcodebuild自动打包脚本与自动上传蒲公英脚本_第1张图片
20160816153553501.png

使用步骤:

  1. 目录配置(打包上传目录、项目目录)
  2. 项目配置(版本、名称、证书、描述文件UUID、描述文件、archive保存目录、ipa保存目录)
  3. 删除旧文件
  4. 清除旧项目
  5. 生成archive
  6. 生成ipa
  7. 上传ipa到蒲公英(上传路径、userKey、apiKey)

注意:以下示例代码可以正常使用,在使用前需要修改配置为你自己的信息。如打包上传目录upload_path,项目目录target_path,项目名称target_name,证书名称codeSignIdentity,描述文件provisioning_profile,描述文件UUIDprovision_UUID,以及上传到蒲公英时的文件地址file。

1 目录(打包上传目录;项目目录)


upload_path="/Users/zsy/Desktop/uploadIPA"

target_path="/Users/zsy/Desktop/iOSTest"

echo "upload_path打包路径:$upload_path"

echo "target_path项目路径:$target_path"

2 配置信息 Release版本


configuration="Release"

# 项目名称

target_name="iOSTest"

project_name="${project_name}.xcodeproj"

workspace_name="${target_name}.xcworkspace"

scheme="$target_name"

echo "configuration配置:$configuration"

echo "target_name项目名称:$target_name"

echo "workspace_name工作空间名称:$workspace_name"

echo "scheme名称:$scheme"

# archive包时使用证书、描述文件UUID;ipa包时使用描述文件(描述文件名称)

codeSignIdentity="iPhone Developer: zsy Test (5DD779QQBQ)"

provision_UUID="06b7492h-083a-4313-c633-15de685929q4"

provisoning_profile="iOSTestDevelopProfile"

echo "codeSignIdentity开发证书:$codeSignIdentity"

echo "provision_UUID描述文件UUID:$provision_UUID"

echo "provisoning_profile描述文件:$provisoning_profile"

# 存储目录(不同电脑修改下用户名"zsy"即可)

# project_dir=`pwd`

# echo "project_dir目录:$project_dir"

# XCODE_PRJ="xcodeproj"

# FILE_EXTENSION='xcworkspace'

# PROJECT_DIR=`pwd`

# CD_XCODE_PRJ=`pwd`/$PROJECT_NAME.$XCODE_PRJ

# PROJECT_WORKSPACE=$PROJECT_DIR.

# PROJECT_BUILD=`pwd`/$PROJECT_NAME/BUILD

# 进入项目目录时

# ipa_path="archive/${target_name}.ipa"

# archive_path="archive/${target_name}.xcarchive"

# log_path="./archive/log.txt"

# 指定目录时

cd "$upload_path"

ipa_path="$upload_path/${target_name}.ipa"

archive_path="$upload_path/${target_name}.xcarchive"

log_path="$upload_path/log.txt"

pwd

echo "ipa_path导出路径:$ipa_path"

echo "archive_path生成路径:$archive_path"

echo "log_path打印路径:$log_path"

3 删除旧文件


rm -rf "$log_path"

rm -rf "$archive_path"

rm -rf "$ipa_path"

cd "$target_path"

pwd

4 清理构建目录


# xcodebuild clean -configuration "$configuration" -alltargets

xcodebuild clean -configuration "$configuration" -alltargets >> $log_path

5 归档(其他参数不指定的话,默认用的是.xcworkspace或.xcodeproj文件里的配置)


xcodebuild archive -workspace "$workspace_name" -scheme "$scheme" -configuration "$configuration" -archivePath "$archive_path" CODE_SIGN_IDENTITY="$codeSignIdentity" PROVISIONING_PROFILE="$provision_UUID" >> $log_path

6 导出IPA


xcodebuild -exportArchive -exportFormat IPA -archivePath "$archive_path" -exportPath "$ipa_path"  -exportProvisioningProfile "$provisoning_profile" >> $log_path

7 上传IPA到蒲公英


curl -F "file=@/Users/zsy/Desktop/uploadIPA/iOSTest.ipa" \

-F "uKey=a512b58c56285d23456e011fgh706509" \

-F "_api_key=ab9c240d2efg9hi17j9642k3l5mnop5q" \

https://www.pgyer.com/apiv1/app/upload

Xcodebuild自动打包脚本与自动上传蒲公英脚本_第2张图片
20160810210023636.png
Xcodebuild自动打包脚本与自动上传蒲公英脚本_第3张图片
20160810210036683.png
Xcodebuild自动打包脚本与自动上传蒲公英脚本_第4张图片
20160810210049479.png

你可能感兴趣的:(Xcodebuild自动打包脚本与自动上传蒲公英脚本)