CERTIFICATE_P12=$1
P12_PASSWORD=$2
PROVISIONING_PROFILE=$3

# create variables
mkdir -p temp
CERTIFICATE_PATH=temp/build_certificate.p12
PP_PATH=temp/build_pp.mobileprovision
KEYCHAIN_PATH=temp/app-signing.keychain-db

# import certificate and provisioning profile from secrets
echo "$CERTIFICATE_P12" | base64 --decode -o $CERTIFICATE_PATH
echo "$PROVISIONING_PROFILE" | base64 --decode -o $PP_PATH

# openssl pkcs12 -in $CERTIFICATE_P12 -nokeys -passin pass:$P12_PASSWORD | openssl x509 -sha1 -noout -fingerprint -subject -dates -nameopt utf8,sep_semi_plus_space

KEYCHAIN_PW="temp-password"
# create temporary keychain
security create-keychain -p "$KEYCHAIN_PW" $KEYCHAIN_PATH
security set-keychain-settings -lut 21600 $KEYCHAIN_PATH
security unlock-keychain -p "$KEYCHAIN_PW" $KEYCHAIN_PATH

# import certificate to keychain
security import $CERTIFICATE_PATH -P $P12_PASSWORD -A -t cert -f pkcs12 -k $KEYCHAIN_PATH
security set-key-partition-list -S apple-tool:,apple: -k "$KEYCHAIN_PW" $KEYCHAIN_PATH
security list-keychain -d user -s $KEYCHAIN_PATH

# apply provisioning profile
mkdir -p ~/Library/MobileDevice/Provisioning\ Profiles
cp $PP_PATH ~/Library/MobileDevice/Provisioning\ Profiles