SDWebImage/Scripts/sign-xcframework.sh

37 lines
1.3 KiB
Bash
Executable File

#!/bin/bash
set -e
set -x
set -o pipefail
if [ -z "$SRCROOT" ]
then
SRCROOT=$(pwd)
fi
# Self-sign XCFramework
if [ -z $CODESIGN_KEY_BASE64 ]; then
echo "Ignore Codesign XCFramework! You must sign SDWebImage before shipping to App Store. See: https://developer.apple.com/support/third-party-SDK-requirements"
exit 0
fi
KEYCHAIN=~/Library/Keychains/ios.keychain
KEYCHAIN_PASSWORD=SDWebImage
CODESIGN_IDENTIFY_NAME=SDWebImage\ Signing\ Certificate
KEY_PASSWORD=""
echo $CODESIGN_KEY_BASE64 | base64 -D > "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.p12"
security create-keychain -p "$KEYCHAIN_PASSWORD" ios.keychain
security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN
security import "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.cer" -k $KEYCHAIN -T /usr/bin/codesign
security import "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.p12" -k $KEYCHAIN -P "$KEY_PASSWORD" -T /usr/bin/codesign
security list-keychains -s ios.keychain
security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN
echo "Codesign XCFramework"
/usr/bin/codesign --force --timestamp -v --sign "SDWebImage Signing Certificate" "${SRCROOT}/build/SDWebImage.xcframework"
rm -rf "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.p12"
security delete-keychain ios.keychain