Skip to content

Commit 698f9cb

Browse files
committed
add upload 蒲公英
1 parent 5888858 commit 698f9cb

File tree

1 file changed

+110
-0
lines changed

1 file changed

+110
-0
lines changed

带上传到蒲公英/auto_ipa.sh

Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# 项目自动、打包
2+
3+
#赋予权限
4+
#chmod 777 auto_ipa.sh
5+
6+
#如果只需要导出ipa则只需要设置 PROJECT_TYPE 的值, 其它值不需要填写
7+
#如果你不需要提交到蒲公英 就将 UPLOADPGYER=flase 和 pgyerApiKey=""
8+
#如果蒲公英需要更新说明则在 脚本后面 添加 栗子: ./auth_ipa.sh 我是版本更新内容
9+
10+
#选择项目 xcodeproj or xcworkspace 这里是二选一
11+
PROJECT_TYPE="xcworkspace"
12+
#是否需要上传到蒲公英
13+
UPLOADPGYER=true
14+
gyerApiKey="12345678910"
15+
16+
17+
#--------------我是分割线-------------------
18+
#--------------我是分割线-------------------
19+
20+
#项目的根目录路径
21+
PROJECT_PATH="$( cd "$( dirname "$0" )" && pwd )";
22+
23+
# 项目target名字
24+
TARGET_NAME=""
25+
26+
27+
function getFileName(){
28+
29+
for file in $(ls $PROJECT_PATH)
30+
do
31+
local lastFileName=${file##*.}
32+
if [[ $lastFileName =~ $PROJECT_TYPE ]]
33+
then
34+
TARGET_NAME=$(basename ${file} .$PROJECT_TYPE)
35+
fi
36+
done
37+
}
38+
getFileName
39+
40+
#判断是否获取到当前目录含有 xcode的项目文件
41+
if [[ "${#TARGET_NAME}" -eq 0 ]]; then
42+
echo "没有获取到项目名称"
43+
exit;
44+
fi
45+
46+
47+
48+
# 打包环境 Release / Debug
49+
CONFIGURATION=Release
50+
51+
#工程文件路径
52+
53+
APP_PATH="${PROJECT_PATH}/${TARGET_NAME}.$PROJECT_TYPE"
54+
55+
# Xcode clean
56+
xcodebuild clean -workspace "${APP_PATH}" -configuration "${CONFIGURATION}" -scheme "${TARGET_NAME}"
57+
58+
# 打包目录
59+
HOME_PATH=$(echo ${HOME})
60+
DESKTOP_PATH="#{HOME_PATH}/Desktop"
61+
62+
# 时间戳
63+
CURRENT_TIME=$(date "+%Y-%m-%d %H-%M-%S")
64+
65+
# 归档路径
66+
ARCHIVE_PATH="${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}/${TARGET_NAME}.xcarchive"
67+
68+
69+
# 导出路径
70+
EXPORT_PATH="${DESKTOP_PATH}/${TARGET_NAME} ${CURRENT_TIME}"
71+
72+
73+
# plist路径
74+
PLIST_PATH="${PROJECT_PATH}/ExportOptions.plist"
75+
76+
# archive 这边使用的工作区间 也可以使用project
77+
xcodebuild archive -workspace "${APP_PATH}" -scheme "${TARGET_NAME}" -configuration "${CONFIGURATION}" -archivePath "${ARCHIVE_PATH}"
78+
79+
# 导出ipa
80+
xcodebuild -exportArchive -archivePath "${ARCHIVE_PATH}" -exportPath "${EXPORT_PATH}" -exportOptionsPlist "${PLIST_PATH}"
81+
82+
83+
84+
85+
86+
#上传到蒲公英
87+
if [ $UPLOADPGYER = true ]; then
88+
#获取第一个参数
89+
varBuildUpdateDescription=$1
90+
91+
# 上传蒲公英
92+
IPAPATH="${EXPORT_PATH}/${TARGET_NAME}.ipa"
93+
94+
echo "~~~~~~~~~~~~~~~~上传ipa到蒲公英~~~~~~~~~~~~~~~~~~~"\
95+
RESULT=$(curl -F "file=@${IPAPATH}" -F "_api_key=${PgyerApiKey}" -F "buildUpdateDescription=${varBuildUpdateDescription}" https://www.pgyer.com/apiv2/app/upload)
96+
echo $RESULT
97+
98+
99+
if [ $? = 0 ]
100+
then
101+
echo "\n"
102+
echo "~~~~~~~~~~~~~~~~上传蒲公英成功~~~~~~~~~~~~~~~~~~~"
103+
else
104+
echo "\n"
105+
echo "~~~~~~~~~~~~~~~~上传蒲公英失败~~~~~~~~~~~~~~~~~~~"
106+
fi
107+
108+
fi
109+
110+

0 commit comments

Comments
 (0)