From 973a455c2839a0e1264713db102ebfe0025558c5 Mon Sep 17 00:00:00 2001 From: Evan Debenham Date: Thu, 8 Sep 2022 14:44:01 -0400 Subject: [PATCH] v1.4.0: updated notarize.sh to use notarytool --- desktop/notarize.sh | 51 ++++++++++++++++++++++----------------------- 1 file changed, 25 insertions(+), 26 deletions(-) diff --git a/desktop/notarize.sh b/desktop/notarize.sh index 71b1370a7..6970f70a6 100755 --- a/desktop/notarize.sh +++ b/desktop/notarize.sh @@ -12,9 +12,13 @@ CERT="$3" USER="$4" PASS="$5" +#extracts the team ID from the certification name +TEAM="${CERT#*(}" +TEAM="${TEAM%)}" + #first sign the naked dylib in /Contents/runtime/Contents/MacOS/libjli.dylib codesign --force --options runtime --timestamp --sign "$CERT" \ - --entitlements "$PLIST" "${APP}/Contents/runtime/Contents/MacOS/libjli.dylib" + --entitlements "$PLIST" "${APP}/Contents/runtime/Contents/MacOS/libjli.dylib" #then iterate over each jar and sign all .dylib files within it # to do this we have to unzip each JAR, sign the files and re-zip =/ @@ -23,45 +27,40 @@ pushd "${APP}"/Contents/app/ > /dev/null rm -rf jar/ for JAR in *.jar; do - mkdir jar - mv "$JAR" jar/ - pushd jar/ > /dev/null - unzip "${JAR}" > /dev/null - rm "${JAR}" + mkdir jar + mv "$JAR" jar/ + pushd jar/ > /dev/null + unzip "${JAR}" > /dev/null + rm "${JAR}" - for LIB in `find . -name '*.dylib'`; do - codesign --force --options runtime --timestamp --sign "$CERT" \ - --entitlements "$PLIST" "${LIB}" - done + for LIB in `find . -name '*.dylib'`; do + codesign --force --options runtime --timestamp --sign "$CERT" \ + --entitlements "$PLIST" "${LIB}" + done - zip -r "../${JAR}" * > /dev/null - popd > /dev/null - rm -rf jar/ + zip -r "../${JAR}" * > /dev/null + popd > /dev/null + rm -rf jar/ done popd > /dev/null #finally do one more deep sign on the whole .app codesign --deep --force --options runtime --timestamp --sign "$CERT" \ - --entitlements "$PLIST" "${APP}" + --entitlements "$PLIST" "${APP}" #zip it up and send it to apple! rm -rf "${APP}".zip zip -r "${APP}".zip "${APP}" > /dev/null -echo "Uploading to apple, this may take a minute." +echo "Uploading to apple, this may take a few minutes:" -xcrun altool -t osx -f "${APP}".zip \ - --primary-bundle-id com.shatteredpixel.shatteredpixeldungeon.apple --notarize-app \ - --username "$USER" \ - --password "$PASS" +xcrun notarytool submit "${APP}".zip \ + --apple-id "$USER" \ + --password "$PASS" \ + --team-id "$TEAM" \ + --wait rm -rf "${APP}".zip -echo "Upload finished, if it worked, wait for an email and then run: xcrun stapler staple \"${APP}\"" - -# If notarizing failed, you can run this command to get info: -# xcrun altool --notarization-info \ -# --username "$USER" \ -# --password "$PASS" - +echo "Notarizing finished, if it worked, run: xcrun stapler staple \"${APP}\"" \ No newline at end of file