Skip to content

Instantly share code, notes, and snippets.

@fabb
Created November 1, 2014 12:39
Show Gist options
  • Save fabb/7c0d24cb7c9c0eb87f9d to your computer and use it in GitHub Desktop.
Save fabb/7c0d24cb7c9c0eb87f9d to your computer and use it in GitHub Desktop.

Revisions

  1. fabb created this gist Nov 1, 2014.
    23 changes: 23 additions & 0 deletions archive_ipa.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,23 @@
    #!/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 )