diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/1024.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/1024.png index 8c1c15231..a975ee063 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/1024.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/1024.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120-1.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120-1.png index 695a8c4bf..caf908791 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120-1.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120-1.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120.png index 695a8c4bf..caf908791 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/120.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/152.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/152.png index 9ebc42deb..6305baca7 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/152.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/152.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/167.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/167.png index 3a7d8aea1..1518987e4 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/167.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/167.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/180.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/180.png index 0d2e17f0a..503d8e9bc 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/180.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/180.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/20.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/20.png index 282333a6d..be314b4be 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/20.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/20.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/29.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/29.png index e4ccf33a3..f519e0ef7 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/29.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/29.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-1.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-1.png index df3769c06..8d01111b5 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-1.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-1.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-2.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-2.png index df3769c06..8d01111b5 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-2.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40-2.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40.png index df3769c06..8d01111b5 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/40.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58-1.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58-1.png index ede7c5b8d..176084a43 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58-1.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58-1.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58.png index ede7c5b8d..176084a43 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/58.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/60.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/60.png index abbf1807d..b0866469b 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/60.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/60.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/76.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/76.png index 64f19ccd2..ed3874ed0 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/76.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/76.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80-1.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80-1.png index 92d64cca1..40211f8c6 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80-1.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80-1.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80.png index 92d64cca1..40211f8c6 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/80.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/87.png b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/87.png index 428b69919..bf2b5bd7c 100644 Binary files a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/87.png and b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/87.png differ diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/convert_icon.sh b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/convert_icon.sh new file mode 100755 index 000000000..f8dfc48c0 --- /dev/null +++ b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/convert_icon.sh @@ -0,0 +1,71 @@ +#!/bin/bash +# Convert SVG icon to all required iOS app icon PNG sizes using Inkscape + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +SVG_PATH="$SCRIPT_DIR/loopfollow-icon.svg" + +if [ ! -f "$SVG_PATH" ]; then + echo "Error: SVG file not found at $SVG_PATH" + exit 1 +fi + +if ! command -v inkscape &> /dev/null; then + echo "Error: Inkscape not found. Please install it first: brew install --cask inkscape" + exit 1 +fi + +echo "Converting SVG to iOS app icon PNGs using Inkscape..." +echo "Source: $SVG_PATH" +echo "" + +# iOS app icon sizes (filename size pairs) +icon_sizes=( + "20.png 20" + "29.png 29" + "40.png 40" + "40-1.png 40" + "40-2.png 40" + "58.png 58" + "58-1.png 58" + "60.png 60" + "76.png 76" + "80.png 80" + "80-1.png 80" + "87.png 87" + "120.png 120" + "120-1.png 120" + "152.png 152" + "167.png 167" + "180.png 180" + "1024.png 1024" +) + +success_count=0 +total_count=${#icon_sizes[@]} + +for entry in "${icon_sizes[@]}"; do + filename=$(echo $entry | cut -d' ' -f1) + size=$(echo $entry | cut -d' ' -f2) + png_path="$SCRIPT_DIR/$filename" + + # Inkscape export command + if inkscape "$SVG_PATH" --export-filename="$png_path" --export-width=$size --export-height=$size --export-type=png 2>/dev/null; then + echo "✓ Created $filename (${size}x${size})" + ((success_count++)) + else + echo "✗ Error creating $filename" + fi +done + +echo "" +echo "✓ Successfully created $success_count/$total_count icon files" + +if [ $success_count -eq $total_count ]; then + echo "" + echo "All icons created successfully!" + exit 0 +else + echo "" + echo "Some icons failed to create. Please check errors above." + exit 1 +fi diff --git a/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/loopfollow-icon.svg b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/loopfollow-icon.svg new file mode 100644 index 000000000..ea281b846 --- /dev/null +++ b/LoopFollow/Resources/Assets.xcassets/AppIcon.appiconset/loopfollow-icon.svg @@ -0,0 +1,109 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +