-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathsignAndPut.sh
More file actions
executable file
·50 lines (40 loc) · 1.62 KB
/
Copy pathsignAndPut.sh
File metadata and controls
executable file
·50 lines (40 loc) · 1.62 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
uploadDir=$1
originIPAFile="origin.ipa"
configureFile="idFile"
originPlistFile="origin.plist"
dateWithTime=`date "+%Y%m%d-%H%M%S"`
outputDir="output${dateWithTime}"
# 创建输出目录。
mkdir $outputDir
unzip "$originIPAFile"
cp embedded.mobileprovision Payload/*.app/embedded.mobileprovision
security cms -D -i Payload/*.app/embedded.mobileprovision > provisioning.plist
/usr/libexec/PlistBuddy -x -c 'Print:Entitlements' "provisioning.plist" > "entitlements.plist"
while IFS= read -r line
do
IFS=',' read -r -a lineToken <<< "$line"
# plist 和 ipa 文件名。
fileName=$(echo "${lineToken[0]}" | tr -d '[:space:][:blank:]')
channelID=$(echo "${lineToken[1]}" | tr -d '[:space:][:blank:]')
echo "fileName = \"${fileName}\", channelID = \"${channelID}\""
# 写入渠道 ID。
sed -i -e -E "s/\"id\":.+/\"id\":$channelID,/g" Payload/*.app/res/channel.json
rm -rf Payload/*.app/res/channel.json-e
rm -rf Payload/*.app/_CodeSignature/
# 重新签名。
codesign --entitlements entitlements.plist -f -s "iPhone Distribution: Wuhan Windoor Information &Technology Co., Ltd." -v Payload/*.app
#重新打包。
ipaFileName="${fileName}.ipa"
ipaFilePath="${outputDir}/${ipaFileName}"
zip -qr "${ipaFilePath}" Payload/
# 复制模版plist文件到输出目录,替换 ipa 路径为指定路径。
plistFileName="${fileName}.plist"
plistFilePath="${outputDir}/${plistFileName}"
cp "${originPlistFile}" "${plistFilePath}"
plistIPAFilePath="${uploadDir}\/${ipaFileName}"
sed -i -e -E "s/game.+\.ipa/${plistIPAFilePath}/g" "${plistFilePath}"
rm -rf "${plistFilePath}-e"
done < "$configureFile"
rm -rf __MACOSX
rm -rf Payload