Skip to content

Instantly share code, notes, and snippets.

@linguofeng
Created December 27, 2013 06:34
Show Gist options
  • Save linguofeng/8143412 to your computer and use it in GitHub Desktop.
Save linguofeng/8143412 to your computer and use it in GitHub Desktop.
#!/bin/bash
BUILD_PATH=$(pwd)/Build
SCHEME=Imhero91Dev
CONFIG=Release
NAME=叫我大侠开发版
ID=com.qiyou.ios91dev
usage(){
cat << EOF
usage: $0 [options]
打包工具
OPTIONS:
-s 目标
-d Debug
-h 帮助
EOF
exit 0
}
while getopts "s:dh" OPTION; do
case "$OPTION" in
s)
SCHEME="$OPTARG"
;;
d)
CONFIG="Debug"
;;
h)
usage
;;
esac
done
xctool \
-project Jianghu.xcodeproj \
-scheme $SCHEME \
-configuration $CONFIG \
BUILD_DIR=$BUILD_PATH \
BUILD_ROOT=$BUILD_PATH \
build \
APP_PATH=$BUILD_PATH/$CONFIG-iphoneos/$SCHEME.app
# payload
PAYLOAD_PATH=$BUILD_PATH/Payload
if [[ -d $PAYLOAD_PATH ]]; then
rm -rf $PAYLOAD_PATH
fi
mkdir -p $PAYLOAD_PATH
# 拷贝app文件至payload目录下
cp -r $APP_PATH $PAYLOAD_PATH
# ipa保存路径
IPA_PATH=$BUILD_PATH/ipa
if [[ ! -d $IPA_PATH ]]; then
mkdir -p $IPA_PATH
fi
# 保存的ipa文件
IPA_FILE=$IPA_PATH/$SCHEME[`date '+%y%m%d-%H'`].ipa
IPA_PLIST=$IPA_PATH/$SCHEME[`date '+%y%m%d-%H'`].plist
if [[ -f $IPA_FILE ]]; then
rm -f $IPA_FILE
fi
cd $BUILD_PATH
zip -rm $IPA_FILE ./Payload
echo $IPA_FILE
# 线上版
if [[ $SCHEME = Imhero91Online ]]; then
NAME=叫我大侠
ID=com.qiyou.ios91
fi
cat << EOF > $IPA_PLIST
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://192.168.100.109:8080/ipa/$SCHEME[`date '+%y%m%d-%H'`].ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>$ID</string>
<key>kind</key>
<string>software</string>
<key>subtitle</key>
<string>v1</string>
<key>title</key>
<string>$NAME</string>
</dict>
</dict>
</array>
</dict>
</plist>
EOF
# 生成index.html
INDEX=$IPA_PATH/index.html
cat << EOF > $INDEX
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>叫我大侠</title>
<style>
li {
font-size: 40px;
margin: 10px;
}
</style>
</head>
<body>
<ul>
EOF
# 遍历所有plist,生成li列表供下载安装
for file in $IPA_PATH/*.plist
do
echo " <li>`basename $file | grep -q "Dev" && echo "叫我大侠开发版" || echo "叫我大侠线上版"`[`stat -l -t \"%y-%m-%d %H:%M\" $file | awk '{print $6 " " $7}'`] <a href=\"itms-services://?action=download-manifest&url=http%3A%2F%2F192.168.100.109:8080%2Fipa%2F`basename $file`\">安装</a> <a href='`basename $file`'>下载</a></li>" >> $INDEX
done
cat << EOF >> $INDEX
</ul>
</div>
</body>
</html>
EOF
echo "Done!!"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment