Skip to content

Commit deab080

Browse files
author
徐文浪
committed
提交脚本代码
1 parent 185393d commit deab080

File tree

2 files changed

+97
-0
lines changed

2 files changed

+97
-0
lines changed

README.md

+97
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,99 @@
11
# iOSArchiveScript
22
ipa文件存档脚本
3+
4+
## 说明
5+
利用agvtool设置app版本号和编译号;
6+
利用xcodebuild工具归档并导出ipa文件。
7+
8+
### 脚本目录
9+
![](./Screenshot 2020-09-02.png)
10+
11+
### 脚本文件代码
12+
archive_enterprise.sh
13+
14+
```
15+
# distribution method (App Store Connect、Ad Hoc、Enterprise、Development)
16+
#
17+
# 该脚本导出的ipa方式(在ExportOptionsPlist文件里配置)
18+
# Staging和Release都选择了Enterprise
19+
#
20+
# cd到本脚本文件的当前目录执行此脚本
21+
22+
23+
cd ..
24+
25+
# 选择编译方式开始
26+
echo "请选择您要编译的配置 ? [ 1: Staging 2: Release] "
27+
read number
28+
while([[ $number != 1 ]] && [[ $number != 2 ]])
29+
do
30+
echo "错误! 应该输入 1 or 2"
31+
echo "请选择您要编译的配置 ? [ 1: Staging 2: Release] "
32+
read number
33+
done
34+
if [ $number == 1 ]; then
35+
BuildConfiguration="Staging"
36+
SeviceTypeName="测试服"
37+
ExportOptionsPlist=ios_scripts/ExportOptions-Enterprise.plist
38+
elif [ $number == 2 ]; then
39+
BuildConfiguration="Release"
40+
SeviceTypeName="正式服"
41+
ExportOptionsPlist=ios_scripts/ExportOptions-Enterprise.plist
42+
fi
43+
# 选择编译方式结束
44+
45+
46+
# 设置版本号开始
47+
rx='^([0-9]+\.){0,2}(\*|[0-9]+)$'
48+
49+
echo "请输入App Store版本号:"
50+
read versionNumber
51+
if [[ $versionNumber =~ $rx ]]; then
52+
xcrun agvtool new-marketing-version ${versionNumber}
53+
else
54+
echo "不设置App Store版本号..."
55+
fi
56+
57+
echo "请输入Build号:"
58+
read buildNumber
59+
if [[ $buildNumber =~ $rx ]]; then
60+
xcrun agvtool new-version -all ${buildNumber}
61+
else
62+
echo "不设置Build版本号..."
63+
fi
64+
# 设置版本号结束
65+
66+
67+
# 开始配置参数
68+
appVersionNumder=$(xcrun agvtool what-marketing-version -terse1)
69+
buildNumber=$(xcrun agvtool what-version -terse)
70+
WORKSPACE_NAME="CRPharmacist.xcworkspace"
71+
SCHEME_NAME="CRPharmacist"
72+
AppDisplayName="药师"
73+
BUILD_DATE=`date +%Y-%m-%d_%H.%M.%S`
74+
ArchivePath=ios_ipaFiles/${BuildConfiguration}/${SCHEME_NAME}_${BUILD_DATE}.xcarchive
75+
ExportPath=ios_ipaFiles/${BuildConfiguration}
76+
77+
78+
# 开始编译
79+
80+
echo "正在清理工程..."
81+
xcodebuild clean -workspace ${WORKSPACE_NAME} -scheme ${SCHEME_NAME} -configuration ${BuildConfiguration} -sdk iphoneos
82+
83+
echo "正在归档..."
84+
xcodebuild archive -workspace ${WORKSPACE_NAME} -scheme ${SCHEME_NAME} -configuration ${BuildConfiguration} -sdk iphoneos -archivePath ${ArchivePath} -UseModernBuildSystem=YES
85+
86+
echo "正在导出..."
87+
xcodebuild -exportArchive -archivePath ${ArchivePath} -exportPath ${ExportPath} -exportOptionsPlist ${ExportOptionsPlist}
88+
89+
# ipa文件改名
90+
OldFileName=${ExportPath}/${SCHEME_NAME}.ipa
91+
NewFileName=${ExportPath}/${AppDisplayName}_iOS_Version${appVersionNumder}"("${buildNumber}")"_${BuildConfiguration}_${SeviceTypeName}.ipa
92+
93+
echo $appVersionNumder
94+
echo $buildNumber
95+
echo $NewFileName
96+
mv ${OldFileName} ${NewFileName}
97+
98+
open ./ios_ipaFiles
99+
```

Screenshot 2020-09-02.png

26 KB
Loading

0 commit comments

Comments
 (0)