Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ZIP=$1
- PROFILE=$2
- IPA=$3
- if [ "x$ZIP" == x ] || [ "x$PROFILE" == x ]
- then
- echo "Usage: $0 <FILE>.xcarchive.zip <PROFILE>.mobileprovision [<APPNAME>.ipa]"
- exit
- fi
- CERT=`openssl smime -verify -noverify -inform der -in "$PROFILE" 2>/dev/null | plutil -extract 'DeveloperCertificates.0' xml1 - -o - | tail -n+5 | base64 -d | openssl x509 -inform der -noout -subject | perl -pe 's/^.*\/CN\=([^\/]+)\/.*$/$1/g'`
- NAME=`unzip -l "$ZIP" | head -n4 | tail -n1 | perl -pe 's/^(\s+[^\s]+){3}\s+(.*)\/$/$2/g'`
- echo Extracting
- rm -rf .tmp &>/dev/null
- mkdir .tmp &>/dev/null
- unzip -d .tmp "$ZIP" &>/dev/null
- APP=`ls -d .tmp/"$NAME"/Products/Applications/*.app | head -n1`
- if [ "x$IPA" == x ]
- then
- IPA=`basename "$APP"`
- IPA=${IPA%.app}.ipa
- fi
- echo Replacing profile
- cp "$PROFILE" "$APP"/embedded.mobileprovision
- echo Resigning
- rm -rf "$APP"/_CodeSignature
- rm -rf "$APP"/*.xcent
- codesign -d -f -s "$CERT" "$APP" &>/dev/null
- echo Exporting IPA
- xcodebuild -exportArchive -exportFormat ipa -exportWithOriginalSigningIdentity -archivePath .tmp/"$NAME" -exportPath "$IPA" &>/dev/null
- echo Cleanup
- rm -rf .tmp &>/dev/null
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement