diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json b/ios/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 0000000..99aa3cc --- /dev/null +++ b/ios/Resources/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,74 @@ +{ + "images": [ + { + "idiom": "universal", + "platform": "ios", + "size": "1024x1024", + "filename": "ios-1024.png" + }, + { + "idiom": "mac", + "scale": "1x", + "size": "16x16", + "filename": "mac-16-1x.png" + }, + { + "idiom": "mac", + "scale": "2x", + "size": "16x16", + "filename": "mac-16-2x.png" + }, + { + "idiom": "mac", + "scale": "1x", + "size": "32x32", + "filename": "mac-32-1x.png" + }, + { + "idiom": "mac", + "scale": "2x", + "size": "32x32", + "filename": "mac-32-2x.png" + }, + { + "idiom": "mac", + "scale": "1x", + "size": "128x128", + "filename": "mac-128-1x.png" + }, + { + "idiom": "mac", + "scale": "2x", + "size": "128x128", + "filename": "mac-128-2x.png" + }, + { + "idiom": "mac", + "scale": "1x", + "size": "256x256", + "filename": "mac-256-1x.png" + }, + { + "idiom": "mac", + "scale": "2x", + "size": "256x256", + "filename": "mac-256-2x.png" + }, + { + "idiom": "mac", + "scale": "1x", + "size": "512x512", + "filename": "mac-512-1x.png" + }, + { + "idiom": "mac", + "scale": "2x", + "size": "512x512", + "filename": "mac-512-2x.png" + } + ], + "info": { + "author": "xcode", + "version": 1 + } +} diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/ios-1024.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/ios-1024.png new file mode 100644 index 0000000..2e6d134 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/ios-1024.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-128-1x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-128-1x.png new file mode 100644 index 0000000..5cfba1c Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-128-1x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-128-2x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-128-2x.png new file mode 100644 index 0000000..02a5065 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-128-2x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-16-1x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-16-1x.png new file mode 100644 index 0000000..6bacf47 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-16-1x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-16-2x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-16-2x.png new file mode 100644 index 0000000..68b0f04 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-16-2x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-256-1x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-256-1x.png new file mode 100644 index 0000000..02a5065 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-256-1x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-256-2x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-256-2x.png new file mode 100644 index 0000000..d3b0ea3 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-256-2x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-32-1x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-32-1x.png new file mode 100644 index 0000000..68b0f04 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-32-1x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-32-2x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-32-2x.png new file mode 100644 index 0000000..0b7a63c Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-32-2x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-512-1x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-512-1x.png new file mode 100644 index 0000000..d3b0ea3 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-512-1x.png differ diff --git a/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-512-2x.png b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-512-2x.png new file mode 100644 index 0000000..2e6d134 Binary files /dev/null and b/ios/Resources/Assets.xcassets/AppIcon.appiconset/mac-512-2x.png differ diff --git a/ios/Resources/Assets.xcassets/Contents.json b/ios/Resources/Assets.xcassets/Contents.json new file mode 100644 index 0000000..ac502da --- /dev/null +++ b/ios/Resources/Assets.xcassets/Contents.json @@ -0,0 +1 @@ +{ "info": { "author": "xcode", "version": 1 } } diff --git a/ios/project.yml b/ios/project.yml index 82a32ff..e44c86c 100644 --- a/ios/project.yml +++ b/ios/project.yml @@ -23,6 +23,7 @@ targets: supportsMacCatalyst: true sources: - Sources + - Resources/Assets.xcassets info: path: Resources/Info.plist properties: @@ -58,6 +59,7 @@ targets: # Set as build settings rather than xcodegen's supportsMacCatalyst:, which this version # accepts and then writes nothing for -- the generated project had no SUPPORTS_MACCATALYST # at all and the Mac destination simply did not exist. + ASSETCATALOG_COMPILER_APPICON_NAME: AppIcon SUPPORTS_MACCATALYST: "YES" DERIVE_MACCATALYST_PRODUCT_BUNDLE_IDENTIFIER: "NO" diff --git a/tools/install-mac.sh b/tools/install-mac.sh new file mode 100755 index 0000000..19e776f --- /dev/null +++ b/tools/install-mac.sh @@ -0,0 +1,34 @@ +#!/bin/sh +# Builds the Mac (Catalyst) app and replaces the copy in /Applications. +# +# Xcode 27 keeps its tools out of the default PATH unless xcode-select points at it, which on +# this machine it does not, so DEVELOPER_DIR is set here rather than relied upon. +set -eu +DEVELOPER_DIR=${DEVELOPER_DIR:-/Applications/Xcode.app/Contents/Developer} +export DEVELOPER_DIR +cd "$(dirname "$0")/../ios" + +command -v xcodegen > /dev/null || { echo "xcodegen missing: brew install xcodegen" >&2; exit 1; } +xcodegen generate > /dev/null + +DERIVED=${DERIVED:-/tmp/ipx-mac} +xcodebuild -project iPodderX.xcodeproj -scheme iPodderX \ + -destination 'platform=macOS,variant=Mac Catalyst' \ + -derivedDataPath "$DERIVED" -configuration Release \ + CODE_SIGNING_ALLOWED=NO build > /dev/null + +APP="$DERIVED/Build/Products/Release-maccatalyst/iPodderX.app" +[ -d "$APP" ] || { echo "no app at $APP" >&2; exit 1; } + +# Quit the running copy first, or the replacement is the one still in memory. +osascript -e 'tell application "iPodderX" to quit' 2>/dev/null || true +sleep 2 + +rm -rf /Applications/iPodderX.app +cp -R "$APP" /Applications/iPodderX.app +# Ad-hoc, because the build is unsigned. Build in Xcode with your own team for one you keep. +codesign --force --sign - /Applications/iPodderX.app +/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister \ + -f /Applications/iPodderX.app 2>/dev/null || true + +echo "installed /Applications/iPodderX.app"