Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save easonoutlook/6377735 to your computer and use it in GitHub Desktop.
Save easonoutlook/6377735 to your computer and use it in GitHub Desktop.
#!/bin/bash
# Need Install NOMAD: gem install nomad-cli
# More About NOMAD http://nomad-cli.com
####### Configuration
# Directory Config
SOURCE_NAME="xxx" # Project Bundle name, commonly Project Name
TARGET_DIRECTORY="./xxx" # Target ipa and dSYM file Directoy
TARGET_NAME_PREFIX="xxx" # Target ipa and dSYM file name
# Build Config
BUILD_CONFIGURATION="Release" # Select XCode build Configuration
BUILD_SCHEME="xxx" # Select XCode Scheme Configuration
# Testflight Config
TF_API_KEY="xxx" # Your Testflight account Upload API Token https://testflightapp.com/account/#api
TF_TEAM_KEY="xxx" # Your Testflight Team Token https://testflightapp.com/dashboard/team/edit/
TF_DISTRIBUTION_LIST="xxx" # Specify One Testflight Distribution List
#######
IPA_SUFFIX=".ipa"
DSYM_ZIP_SUFFIX=".app.dSYM.zip"
SOURCE_IPA_FILEPATH="$SOURCE_NAME$IPA_SUFFIX"
SOURCE_DSYM_FILEPATH="$SOURCE_NAME$DSYM_ZIP_SUFFIX"
TIME=$(date +"%Y%m%d%H%M")
TARGET_NAME="$TARGET_NAME_PREFIX-$TIME"
TARGET_IPA_FILEPATH="$TARGET_DIRECTORY/$TARGET_NAME$IPA_SUFFIX"
TARGET_DSYM_FILEPATH="$TARGET_DIRECTORY/$TARGET_NAME$DSYM_ZIP_SUFFIX"
ipa build -c $BUILD_CONFIGURATION -s $BUILD_SCHEME --clean
mkdir -p $TARGET_DIRECTORY
mv $SOURCE_IPA_FILEPATH $TARGET_IPA_FILEPATH
mv $SOURCE_DSYM_FILEPATH $TARGET_DSYM_FILEPATH
echo -e "\033[0;34mOutput Path:\nIPA:$TARGET_IPA_FILEPATH\ndSYM:$TARGET_DSYM_FILEPATH \033[0m"
echo -n -e "\033[0;33mNeed Upload To TF (y/n)?\033[0m"
read -n 1 needTF
if [ "$needTF" = "y" ]; then
echo -e "\033[0;33mUpload...\033[0m"
ipa distribute:testflight -f $TARGET_IPA_FILEPATH -d $TARGET_DSYM_FILEPATH -a $TF_API_KEY -T $TF_TEAM_KEY -l $TF_DISTRIBUTION_LIST --notify
else echo -e "\n\033[0;32mDone!\033[0m"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment