Skip to content

Instantly share code, notes, and snippets.

@jkyin
Forked from fabb/archive_ipa.sh
Last active August 27, 2015 03:30
Show Gist options
  • Save jkyin/4ef05ffd7fc4622f9f9d to your computer and use it in GitHub Desktop.
Save jkyin/4ef05ffd7fc4622f9f9d to your computer and use it in GitHub Desktop.
Script to archive an ipa from commandline - depends on xctool
#!/bin/bash
set -x
cd ${0%/*}/..
# codesigning and choosing of provisioning profile is configured via project settings and is dependent of build config
: ${BUILD_NUMBER:?"Need to set BUILD_NUMBER"}
WORKSPACE=<yourworkspace>.xcworkspace
SCHEME=<yourscheme>
ARCHIVEPATH=`pwd`/archive
IPA_NAME=<youroutputfilename>
PROJECT_BUILDDIR=${ARCHIVEPATH}/${IPA_NAME}.xcarchive/Products/Applications
DSYM_INPUT_PATH=${ARCHIVEPATH}/${IPA_NAME}.xcarchive/dSYMs
DSYM_ZIP_OUTPUT_PATH=${ARCHIVEPATH}/${IPA_NAME}.dSYM.zip
xctool -workspace ${WORKSPACE} -scheme ${SCHEME} archive -archivePath "${ARCHIVEPATH}/${IPA_NAME}"
xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILDDIR}"/*.app -o "${ARCHIVEPATH}/${IPA_NAME}.ipa"
# resigning not necessary, as building already uses correct codesigning and choosing of provisioning profile
# zipping dSYM for testflight upload
( cd ${DSYM_INPUT_PATH} ; zip -r -X ${DSYM_ZIP_OUTPUT_PATH} *.dSYM )
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment