https://github.com/potato512/SYIPAGeneratedScript
脚本文件"xxx.sh"使用"Sublime_Text"工具进行编辑。
在终端执行脚本时的命令:sh xxx.sh
# 脚本功能说明
# 在终端,使用xcodebuild进行自动打包,以及上传到蒲公英#
# 使用步骤:
# 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