sign-xcframework.sh 1.3 KB

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