Skip to content

Instantly share code, notes, and snippets.

@incanus
Created September 1, 2011 19:12

Revisions

  1. incanus revised this gist Oct 14, 2011. 1 changed file with 1 addition and 1 deletion.
    2 changes: 1 addition & 1 deletion Xcode4TestFlightintegration.sh
    Original file line number Diff line number Diff line change
    @@ -12,7 +12,7 @@ GROWL="${HOME}/bin/growlnotify -a Xcode -w"

    DATE=$( /bin/date +"%Y-%m-%d" )
    ARCHIVE=$( /bin/ls -t "${HOME}/Library/Developer/Xcode/Archives/${DATE}" | /usr/bin/grep xcarchive | /usr/bin/sed -n 1p )
    DSYM="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/${PRODUCT_NAME}.app.dSYM"
    DSYM="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/dSYMs/${PRODUCT_NAME}.app.dSYM"
    APP="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/Products/Applications/${PRODUCT_NAME}.app"

    #/usr/bin/open -a /Applications/Utilities/Console.app $LOG
  2. incanus revised this gist Oct 12, 2011. 1 changed file with 12 additions and 0 deletions.
    12 changes: 12 additions & 0 deletions Xcode4TestFlightintegration.sh
    Original file line number Diff line number Diff line change
    @@ -12,23 +12,35 @@ GROWL="${HOME}/bin/growlnotify -a Xcode -w"

    DATE=$( /bin/date +"%Y-%m-%d" )
    ARCHIVE=$( /bin/ls -t "${HOME}/Library/Developer/Xcode/Archives/${DATE}" | /usr/bin/grep xcarchive | /usr/bin/sed -n 1p )
    DSYM="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/${PRODUCT_NAME}.app.dSYM"
    APP="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/Products/Applications/${PRODUCT_NAME}.app"

    #/usr/bin/open -a /Applications/Utilities/Console.app $LOG

    #echo -n "Creating .ipa for ${PRODUCT_NAME}... " > $LOG
    echo "Creating .ipa for ${PRODUCT_NAME}" | ${GROWL}

    /bin/rm "/tmp/${PRODUCT_NAME}.ipa"
    /usr/bin/xcrun -sdk iphoneos PackageApplication -v "${APP}" -o "/tmp/${PRODUCT_NAME}.ipa" --sign "${SIGNING_IDENTITY}" --embed "${PROVISIONING_PROFILE}"

    #echo "done." >> $LOG
    echo "Created .ipa for ${PRODUCT_NAME}" | ${GROWL}

    #echo -n "Zipping .dSYM for ${PRODUCT_NAME}..." >> $LOG
    echo "Zipping .dSYM for ${PRODUCT_NAME}" | ${GROWL}

    /bin/rm "/tmp/${PRODUCT_NAME}.dSYM.zip"
    /usr/bin/zip -r "/tmp/${PRODUCT_NAME}.dSYM.zip" "${DSYM}"

    #echo "done." >> $LOG
    echo "Created .dSYM for ${PRODUCT_NAME}" | ${GROWL}

    #echo -n "Uploading to TestFlight... " >> $LOG
    echo "Uploading to TestFlight" | ${GROWL}

    /usr/bin/curl "http://testflightapp.com/api/builds.json" \
    -F file=@"/tmp/${PRODUCT_NAME}.ipa" \
    -F dsym=@"/tmp/${PRODUCT_NAME}.dSYM.zip" \
    -F api_token="${API_TOKEN}" \
    -F team_token="${TEAM_TOKEN}" \
    -F notes="Build uploaded automatically from Xcode."
  3. incanus revised this gist Oct 12, 2011. 1 changed file with 11 additions and 8 deletions.
    19 changes: 11 additions & 8 deletions Xcode4TestFlightintegration.sh
    Original file line number Diff line number Diff line change
    @@ -7,28 +7,31 @@ API_TOKEN=<TestFlight API token here>
    TEAM_TOKEN=<TestFlight team token here>
    SIGNING_IDENTITY="iPhone Distribution: Development Seed"
    PROVISIONING_PROFILE="${HOME}/Library/MobileDevice/Provisioning Profiles/MapBox Ad Hoc.mobileprovision"
    LOG="/tmp/testflight.log"
    #LOG="/tmp/testflight.log"
    GROWL="${HOME}/bin/growlnotify -a Xcode -w"

    DATE=$( /bin/date +"%Y-%m-%d" )
    ARCHIVE=$( /bin/ls -t "${HOME}/Library/Developer/Xcode/Archives/${DATE}" | /usr/bin/grep xcarchive | /usr/bin/sed -n 1p )
    APP="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/Products/Applications/${PRODUCT_NAME}.app"

    /usr/bin/open -a /Applications/Utilities/Console.app $LOG
    #/usr/bin/open -a /Applications/Utilities/Console.app $LOG

    echo -n "Creating .ipa for ${PRODUCT_NAME}... " > $LOG
    #echo -n "Creating .ipa for ${PRODUCT_NAME}... " > $LOG
    echo "Creating .ipa for ${PRODUCT_NAME}" | ${GROWL}

    /usr/bin/xcrun -sdk iphoneos PackageApplication -v "${APP}" -o "/tmp/${PRODUCT_NAME}.ipa" --sign "${SIGNING_IDENTITY}" --embed "${PROVISIONING_PROFILE}"

    echo "done." >> $LOG
    #echo "done." >> $LOG
    echo "Created .ipa for ${PRODUCT_NAME}" | ${GROWL}

    echo -n "Uploading to TestFlight... " >> $LOG
    #echo -n "Uploading to TestFlight... " >> $LOG
    echo "Uploading to TestFlight" | ${GROWL}

    /usr/bin/curl "http://testflightapp.com/api/builds.json" \
    -F file=@"/tmp/${PRODUCT_NAME}.ipa" \
    -F api_token="${API_TOKEN}" \
    -F team_token="${TEAM_TOKEN}" \
    -F notes="Build uploaded automatically from Xcode."

    echo "done." >> $LOG

    /usr/bin/open "https://testflightapp.com/dashboard/builds/"
    #echo "done." >> $LOG
    echo "Uploaded to TestFlight" | ${GROWL} -s && /usr/bin/open "https://testflightapp.com/dashboard/builds/"
  4. incanus revised this gist Oct 12, 2011. 1 changed file with 5 additions and 0 deletions.
    5 changes: 5 additions & 0 deletions Xcode4TestFlightintegration.sh
    Original file line number Diff line number Diff line change
    @@ -1,3 +1,8 @@
    #!/bin/bash
    #
    # (Above line comes out when placing in Xcode scheme)
    #

    API_TOKEN=<TestFlight API token here>
    TEAM_TOKEN=<TestFlight team token here>
    SIGNING_IDENTITY="iPhone Distribution: Development Seed"
  5. incanus created this gist Sep 1, 2011.
    29 changes: 29 additions & 0 deletions Xcode4TestFlightintegration.sh
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,29 @@
    API_TOKEN=<TestFlight API token here>
    TEAM_TOKEN=<TestFlight team token here>
    SIGNING_IDENTITY="iPhone Distribution: Development Seed"
    PROVISIONING_PROFILE="${HOME}/Library/MobileDevice/Provisioning Profiles/MapBox Ad Hoc.mobileprovision"
    LOG="/tmp/testflight.log"

    DATE=$( /bin/date +"%Y-%m-%d" )
    ARCHIVE=$( /bin/ls -t "${HOME}/Library/Developer/Xcode/Archives/${DATE}" | /usr/bin/grep xcarchive | /usr/bin/sed -n 1p )
    APP="${HOME}/Library/Developer/Xcode/Archives/${DATE}/${ARCHIVE}/Products/Applications/${PRODUCT_NAME}.app"

    /usr/bin/open -a /Applications/Utilities/Console.app $LOG

    echo -n "Creating .ipa for ${PRODUCT_NAME}... " > $LOG

    /usr/bin/xcrun -sdk iphoneos PackageApplication -v "${APP}" -o "/tmp/${PRODUCT_NAME}.ipa" --sign "${SIGNING_IDENTITY}" --embed "${PROVISIONING_PROFILE}"

    echo "done." >> $LOG

    echo -n "Uploading to TestFlight... " >> $LOG

    /usr/bin/curl "http://testflightapp.com/api/builds.json" \
    -F file=@"/tmp/${PRODUCT_NAME}.ipa" \
    -F api_token="${API_TOKEN}" \
    -F team_token="${TEAM_TOKEN}" \
    -F notes="Build uploaded automatically from Xcode."

    echo "done." >> $LOG

    /usr/bin/open "https://testflightapp.com/dashboard/builds/"