Created
March 26, 2014 11:50
-
-
Save zs1621/9781503 to your computer and use it in GitHub Desktop.
ota shell upload *.plist and *.ipa to your ftp; FINALURL: your file server , REMOTEPATH: your remote static file path, FTPHOST: your ftp server(sftp)
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
FTPHOST="" | |
REMOTEPATH="" | |
FINALURL="" | |
IPA_PATH=$1 | |
FILENAME=$(basename $IPA_PATH) | |
FILE=${FILENAME%.*} | |
DIRNAME=$(dirname $IPA_PATH) | |
TMP=$FILE"tmp" | |
SRC_PLIST="" | |
cd $DIRNAME rm -rf $DIRNAME"/"$FILE | |
mkdir $FILE | |
cp $IPA_PATH $DIRNAME"/"$FILE"/" | |
#ipatool_bundle_info | |
function ipatool_bundle_info() { | |
/usr/libexec/PlistBuddy -c "Print $1" $SRC_PLIST | |
} | |
function ipatool_appname() { | |
ls "$DIRNAME/$TMP/Payload" | |
} | |
function ipatool_app_path() { | |
echo "$DIRNAME/$TMP/Payload/`ipatool_appname`" | |
} | |
#extract_ipa | |
function extract_ipa() { | |
rm -rf $TMP && mkdir $TMP && cd $TMP || exit 1 | |
unzip "$IPA_PATH" > /dev/null | |
SRC_PLIST="`ipatool_app_path`/Info.plist" | |
} | |
function create_plist() { | |
echo "<?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>$1</string> | |
</dict> | |
</array> | |
<key>metadata</key> | |
<dict> | |
<key>bundle-identifier</key> | |
<string>$2</string> | |
<key>bundle-version</key> | |
<string>$3</string> | |
<key>kind</key> | |
<string>software</string> | |
<key>title</key> | |
<string>$4</string> | |
</dict> | |
</dict> | |
</array> | |
</dict> | |
</plist> | |
" >> $DIRNAME"/"$FILE"/"$APP_TITLE$BUILD".plist" | |
} | |
# upload file | |
function upload_ipa(){ | |
sftp $FTPHOST << EOF | |
cd $1 | |
lcd $2 | |
mkdir $APP_TITLE | |
cd $APP_TITLE | |
progress | |
put * | |
bye | |
EOF | |
} | |
if [ -f $1 ]; then | |
extract_ipa | |
BUNDLE_ID=`ipatool_bundle_info "CFBundleIdentifier"` | |
APP_TITLE=`ipatool_bundle_info "CFBundleName"` | |
APP_VERSION=`ipatool_bundle_info "CFBundleShortVersionString"` | |
BUILD=`ipatool_bundle_info "CFBundleVersion"` | |
IPA_NAME=$APP_TITLE$BUILD".ipa" | |
URL=$FINALURL/$APP_TITLE/$IPA_NAME | |
echo "BUNDLE_ID: $BUNDLE_ID" | |
echo "APP_TITLE: $APP_TITLE" | |
echo "app_version: $APP_VERSION" | |
echo "BUILD: $BUILD" | |
create_plist $URL $BUNDLE_ID $BUILD $APP_TITLE | |
mv $DIRNAME"/"$FILE"/"$FILENAME $DIRNAME"/"$FILE"/"$IPA_NAME | |
cd $DIRNAME | |
rm -rf $TMP | |
upload_ipa $REMOTEPATH $DIRNAME"/"$FILE | |
rm -rf $DIRNAME"/"$FILE | |
elif [ -d $1 ]; then | |
echo "dir" || exit 1 | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment