#!/bin/bash set -e # Configuration APP_NAME="Apple Intelligence Server" BUNDLE_ID="com.svrnty.apple-intelligence-server" VERSION="1.0.0" BUILD_NUMBER="1" MIN_OS_VERSION="26.0" # Paths SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)" PROJECT_DIR="$(dirname "$SCRIPT_DIR")" BUILD_DIR="$PROJECT_DIR/.build/release" APP_BUNDLE="$PROJECT_DIR/dist/$APP_NAME.app" CONTENTS_DIR="$APP_BUNDLE/Contents" MACOS_DIR="$CONTENTS_DIR/MacOS" RESOURCES_DIR="$CONTENTS_DIR/Resources" echo "Building release binary..." cd "$PROJECT_DIR" swift build -c release --product AppleIntelligenceApp echo "Creating app bundle..." rm -rf "$APP_BUNDLE" mkdir -p "$MACOS_DIR" mkdir -p "$RESOURCES_DIR" echo "Copying executable..." cp "$BUILD_DIR/AppleIntelligenceApp" "$MACOS_DIR/$APP_NAME" echo "Creating Info.plist..." cat > "$CONTENTS_DIR/Info.plist" << EOF CFBundleDevelopmentRegion en CFBundleExecutable $APP_NAME CFBundleIconFile AppIcon CFBundleIdentifier $BUNDLE_ID CFBundleInfoDictionaryVersion 6.0 CFBundleName $APP_NAME CFBundlePackageType APPL CFBundleShortVersionString $VERSION CFBundleVersion $BUILD_NUMBER LSMinimumSystemVersion $MIN_OS_VERSION LSUIElement NSHighResolutionCapable NSLocalNetworkUsageDescription Apple Intelligence Server needs local network access to accept connections from other devices on your network. NSPrincipalClass NSApplication EOF echo "Creating PkgInfo..." echo -n "APPL????" > "$CONTENTS_DIR/PkgInfo" echo "" echo "App bundle created at: $APP_BUNDLE" echo "" echo "Next steps for distribution:" echo "1. Add an app icon (AppIcon.icns) to $RESOURCES_DIR" echo "2. Code sign: codesign --deep --force --verify --verbose --sign \"Developer ID Application: YOUR NAME (TEAM_ID)\" \"$APP_BUNDLE\"" echo "3. Notarize: xcrun notarytool submit \"$APP_BUNDLE\" --apple-id YOUR_APPLE_ID --password APP_SPECIFIC_PASSWORD --team-id TEAM_ID --wait" echo "4. Staple: xcrun stapler staple \"$APP_BUNDLE\""