diff --git a/.github/workflows/release-notarized.yml b/.github/workflows/release-notarized.yml index 15b8a6b..3e0ea31 100644 --- a/.github/workflows/release-notarized.yml +++ b/.github/workflows/release-notarized.yml @@ -89,6 +89,32 @@ jobs: -exportPath "$EXPORT_PATH" \ -exportOptionsPlist export.plist + - name: Verify app icon payload + env: + EXPORT_PATH: ${{ runner.temp }}/export + run: | + set -euo pipefail + APP="$EXPORT_PATH/Neon Vision Editor.app" + INFO="$APP/Contents/Info.plist" + CAR="$APP/Contents/Resources/Assets.car" + + ICON_NAME="$(/usr/libexec/PlistBuddy -c 'Print :CFBundleIconName' "$INFO" 2>/dev/null || true)" + if [[ "$ICON_NAME" != "AppIcon" ]]; then + echo "Unexpected CFBundleIconName: '$ICON_NAME' (expected 'AppIcon')." >&2 + exit 1 + fi + + xcrun --sdk macosx assetutil --info "$CAR" > icon-info.json + if ! rg -q '"RenditionName" : "AppIcon\.iconstack"' icon-info.json; then + echo "Missing AppIcon iconstack rendition in Assets.car." >&2 + exit 1 + fi + if ! rg -q '"Name" : "AppIcon"' icon-info.json; then + echo "Missing AppIcon image renditions in Assets.car." >&2 + exit 1 + fi + echo "Icon payload preflight passed." + - name: Notarize env: EXPORT_PATH: ${{ runner.temp }}/export diff --git a/Info-macOS.plist b/Info-macOS.plist index 810c6aa..b720fb9 100644 --- a/Info-macOS.plist +++ b/Info-macOS.plist @@ -80,7 +80,7 @@ CFBundleExecutable $(EXECUTABLE_NAME) CFBundleIconName - AppIcon-iOS + AppIcon CFBundleIdentifier $(PRODUCT_BUNDLE_IDENTIFIER) CFBundleName diff --git a/Neon Vision Editor.xcodeproj/project.pbxproj b/Neon Vision Editor.xcodeproj/project.pbxproj index b4934d7..1f8898a 100644 --- a/Neon Vision Editor.xcodeproj/project.pbxproj +++ b/Neon Vision Editor.xcodeproj/project.pbxproj @@ -349,9 +349,9 @@ 98EAE6412E5F15EC0050E579 /* Debug configuration for PBXNativeTarget "Neon Vision Editor" */ = { isa = XCBuildConfiguration; buildSettings = { - "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphoneos*]" = "AppIcon-iOS"; - "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphonesimulator*]" = "AppIcon-iOS"; - "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=macosx*]" = "AppIcon-iOS"; + "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphoneos*]" = AppIcon; + "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphonesimulator*]" = AppIcon; + "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=macosx*]" = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; AUTOMATION_APPLE_EVENTS = NO; @@ -429,9 +429,9 @@ 98EAE6422E5F15EC0050E579 /* Release configuration for PBXNativeTarget "Neon Vision Editor" */ = { isa = XCBuildConfiguration; buildSettings = { - "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphoneos*]" = "AppIcon-iOS"; - "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphonesimulator*]" = "AppIcon-iOS"; - "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=macosx*]" = "AppIcon-iOS"; + "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphoneos*]" = AppIcon; + "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=iphonesimulator*]" = AppIcon; + "ASSETCATALOG_COMPILER_APPICON_NAME[sdk=macosx*]" = AppIcon; ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; ASSETCATALOG_COMPILER_INCLUDE_ALL_APPICON_ASSETS = NO; AUTOMATION_APPLE_EVENTS = NO;