sign-xcframework.sh 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. #!/bin/bash
  2. set -e
  3. set -x
  4. set -o pipefail
  5. if [ -z "$SRCROOT" ]
  6. then
  7. SRCROOT=$(pwd)
  8. fi
  9. # Self-sign XCFramework
  10. if [ -z $CODESIGN_KEY_BASE64 ]; then
  11. echo "Ignore Codesign XCFramework! You must sign SDWebImage before shipping to App Store. See: https://developer.apple.com/support/third-party-SDK-requirements"
  12. exit 0
  13. fi
  14. KEYCHAIN=~/Library/Keychains/ios.keychain
  15. KEYCHAIN_PASSWORD=SDWebImage
  16. CODESIGN_IDENTIFY_NAME=SDWebImage\ Signing\ Certificate
  17. KEY_PASSWORD=""
  18. echo $CODESIGN_KEY_BASE64 | base64 -D > "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.p12"
  19. security create-keychain -p "$KEYCHAIN_PASSWORD" ios.keychain
  20. security unlock-keychain -p "$KEYCHAIN_PASSWORD" $KEYCHAIN
  21. security import "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.cer" -k $KEYCHAIN -T /usr/bin/codesign
  22. security import "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.p12" -k $KEYCHAIN -P "$KEY_PASSWORD" -T /usr/bin/codesign
  23. security list-keychains -s ios.keychain
  24. security set-key-partition-list -S apple-tool:,apple: -s -k "$KEYCHAIN_PASSWORD" $KEYCHAIN
  25. echo "Codesign XCFramework"
  26. /usr/bin/codesign --force --timestamp -v --sign "SDWebImage Signing Certificate" "${SRCROOT}/build/SDWebImage.xcframework"
  27. rm -rf "$(PWD)/Certificate/${CODESIGN_IDENTIFY_NAME}.p12"
  28. security delete-keychain ios.keychain