diff --git a/Assets.xcassets/AppIcon.appiconset/Contents.json b/Assets.xcassets/AppIcon.appiconset/Contents.json index 3f00db4..64dc11e 100644 --- a/Assets.xcassets/AppIcon.appiconset/Contents.json +++ b/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -1,51 +1,61 @@ { "images" : [ { + "filename" : "icon_16x16.png", "idiom" : "mac", "scale" : "1x", "size" : "16x16" }, { + "filename" : "icon_16x16@2x.png", "idiom" : "mac", "scale" : "2x", "size" : "16x16" }, { + "filename" : "icon_32x32.png", "idiom" : "mac", "scale" : "1x", "size" : "32x32" }, { + "filename" : "icon_32x32@2x.png", "idiom" : "mac", "scale" : "2x", "size" : "32x32" }, { + "filename" : "icon_128x128.png", "idiom" : "mac", "scale" : "1x", "size" : "128x128" }, { + "filename" : "icon_128x128@2x.png", "idiom" : "mac", "scale" : "2x", "size" : "128x128" }, { + "filename" : "icon_256x256.png", "idiom" : "mac", "scale" : "1x", "size" : "256x256" }, { + "filename" : "icon_256x256@2x.png", "idiom" : "mac", "scale" : "2x", "size" : "256x256" }, { + "filename" : "icon_512x512.png", "idiom" : "mac", "scale" : "1x", "size" : "512x512" }, { + "filename" : "icon_512x512@2x.png", "idiom" : "mac", "scale" : "2x", "size" : "512x512" diff --git a/Assets.xcassets/AppIcon.appiconset/icon_128x128.png b/Assets.xcassets/AppIcon.appiconset/icon_128x128.png new file mode 100644 index 0000000..41ac801 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_128x128.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png b/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png new file mode 100644 index 0000000..e226925 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_128x128@2x.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_16x16.png b/Assets.xcassets/AppIcon.appiconset/icon_16x16.png new file mode 100644 index 0000000..7db6997 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_16x16.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png b/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png new file mode 100644 index 0000000..7a87de2 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_16x16@2x.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_256x256.png b/Assets.xcassets/AppIcon.appiconset/icon_256x256.png new file mode 100644 index 0000000..e226925 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_256x256.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png b/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png new file mode 100644 index 0000000..5cc5a18 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_256x256@2x.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_32x32.png b/Assets.xcassets/AppIcon.appiconset/icon_32x32.png new file mode 100644 index 0000000..7a87de2 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_32x32.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png b/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png new file mode 100644 index 0000000..fd1b22e Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_32x32@2x.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_512x512.png b/Assets.xcassets/AppIcon.appiconset/icon_512x512.png new file mode 100644 index 0000000..5cc5a18 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_512x512.png differ diff --git a/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png b/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png new file mode 100644 index 0000000..8ea3c70 Binary files /dev/null and b/Assets.xcassets/AppIcon.appiconset/icon_512x512@2x.png differ diff --git a/Assets/dmg_background.png b/Assets/dmg_background.png new file mode 100644 index 0000000..a57f84c Binary files /dev/null and b/Assets/dmg_background.png differ diff --git a/scripts/build_release.sh b/scripts/build_release.sh index 6b7bedb..2e277a3 100755 --- a/scripts/build_release.sh +++ b/scripts/build_release.sh @@ -29,6 +29,13 @@ if [[ ! -d "$APP_PATH" ]]; then exit 1 fi +STAGING_DIR=$(mktemp -d) +mkdir -p "$STAGING_DIR" +cp -R "$APP_PATH" "$STAGING_DIR/" +ln -s /Applications "$STAGING_DIR/Applications" +mkdir -p "$STAGING_DIR/.background" +cp "$ROOT_DIR/Assets/dmg_background.png" "$STAGING_DIR/.background/background.png" + if [[ -n "${CODESIGN_IDENTITY:-}" ]]; then echo "🔏 Codesigning app with identity: $CODESIGN_IDENTITY" codesign --deep --force --options runtime --sign "$CODESIGN_IDENTITY" "$APP_PATH" @@ -50,7 +57,7 @@ zip -r "$ARTIFACTS_DIR/$ZIP_NAME" "$(basename "$APP_PATH")" popd >/dev/null DMG_NAME="iKeyMon-${VERSION}.dmg" -hdiutil create -volname "iKeyMon" -srcfolder "$APP_PATH" -ov -format UDZO "$ARTIFACTS_DIR/$DMG_NAME" +hdiutil create -volname "iKeyMon" -srcfolder "$STAGING_DIR" -ov -format UDZO "$ARTIFACTS_DIR/$DMG_NAME" if [[ -n "${NOTARY_APPLE_ID:-}" && -n "${NOTARY_TEAM_ID:-}" && -n "${NOTARY_PASSWORD:-}" ]]; then echo "📝 Submitting DMG for notarization..." @@ -63,6 +70,7 @@ if [[ -n "${NOTARY_APPLE_ID:-}" && -n "${NOTARY_TEAM_ID:-}" && -n "${NOTARY_PASS else echo "⚠️ Skipping notarization (NOTARY_* variables not set)." fi +rm -rf "$STAGING_DIR" echo "✅ Build complete. Artifacts:" echo " - $ARTIFACTS_DIR/$ZIP_NAME"