Last active
September 19, 2023 20:54
-
-
Save sinofool/39dc371e95c799094f7b to your computer and use it in GitHub Desktop.
Revisions
-
sinofool revised this gist
Nov 3, 2016 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -94,6 +94,9 @@ then fi #echo $SIGN_IDEN # For macOS 10.12+, new security enforcement need following command. security set-key-partition-list -S apple: -k $$ -D "$SIGN_IDEN" -t private PROV_UUID=$(/usr/libexec/PlistBuddy -c "Print UUID" /dev/stdin <<< `security cms -D -i "$PROVFILE"`) if [ "$PROV_UUID" == "" ] then -
sinofool created this gist
Oct 27, 2015 .There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,111 @@ #!/bin/bash set -x USAGE() { cat << EOF Usage: ${0##*/} <-i ident.p12> [-p password] <-m profile.mobileprovision> [-a com.example.app] [-n NewName] [-I Info.plist] -i ident.p12 The signing identity file. -p password The password of signing identity file. -m profile.mobileprovision Signing provision profile -a com.example.app Override CFBundleIdentifier -n NewName Override CFBundleName -I Info.plist Override plist file target -h help EOF exit 1 } while getopts "i:p::m:a::n::I::h" opt ; do case "$opt" in i) SIGNFILE=$OPTARG ;; p) SIGNPASS=$OPTARG ;; m) PROVFILE=$OPTARG ;; a) OVER_APPID=$OPTARG ;; n) OVER_NAME=$OPTARG ;; I) OVER_FILE=$OPTARG ;; h|*) USAGE ;; esac done if [ ! -f "$SIGNFILE" ] then echo "signing identity file not exists" exit 1 fi if [ ! -f "$PROVFILE" ] then echo "signing provision profile not exists" exit 1 fi if [ "$OVER_APPID" != "" ] then if [ ! -f "$OVER_FILE" ] then echo "Use -I Info.plist to find plist" exit 7 fi /usr/libexec/PlistBuddy -c "set :CFBundleIdentifier $OVER_APPID" "$OVER_FILE" fi if [ "$OVER_NAME" != "" ] then if [ ! -f "$OVER_FILE" ] then echo "Use -I Info.plist to find plist" exit 7 fi /usr/libexec/PlistBuddy -c "set :CFBundleName $OVER_NAME" "$OVER_FILE" fi RAND_KEYCHAIN=cmdbuild$$.keychain security create-keychain -p $$ $RAND_KEYCHAIN || exit 2 security default-keychain -s $RAND_KEYCHAIN || exit 2 security list-keychains -s $RAND_KEYCHAIN || exit 2 trap "{ security delete-keychain $RAND_KEYCHAIN || echo Cannot delete keychain $RAND_KEYCHAIN }" EXIT if [ "$OVER_NAME" != "" ] then if [ -f "$OVER_FILE" ] then trap "{ git checkout \"$OVER_FILE\" security delete-keychain $RAND_KEYCHAIN || echo Cannot delete keychain $RAND_KEYCHAIN }" EXIT fi fi if [ "$SIGNPASS" == "" ] then security import "$SIGNFILE" -k $RAND_KEYCHAIN -T /usr/bin/codesign || exit 3 else security import "$SIGNFILE" -k $RAND_KEYCHAIN -P "$SIGNPASS" -T /usr/bin/codesign || exit 3 fi security unlock-keychain -p $$ $HOME/Library/Keychains/$RAND_KEYCHAIN || exit 4 security set-keychain-settings -u $RAND_KEYCHAIN || exit 5 #security show-keychain-info $RAND_KEYCHAIN SIGN_IDEN=$(security find-identity -p codesigning -v $RAND_KEYCHAIN|head -n1|cut -d "\"" -f 2) if [ "$SIGN_IDEN" == "" ] then exit 5 fi #echo $SIGN_IDEN PROV_UUID=$(/usr/libexec/PlistBuddy -c "Print UUID" /dev/stdin <<< `security cms -D -i "$PROVFILE"`) if [ "$PROV_UUID" == "" ] then exit 6 fi if [ ! -d "$HOME/Library/MobileDevice/Provisioning Profiles/" ] then mkdir -p "$HOME/Library/MobileDevice/Provisioning Profiles/" fi cp "$PROVFILE" "$HOME/Library/MobileDevice/Provisioning Profiles/$PROV_UUID.mobileprovision" #echo $PROV_UUID xcodebuild $CMDBUILD_ARGS CODE_SIGN_IDENTITY="$SIGN_IDEN" PROVISIONING_PROFILE="$PROV_UUID" OTHER_CODE_SIGN_FLAGS="--keychain '$HOME/Library/Keychains/$RAND_KEYCHAIN'" exit 0