#!/bin/bash set -euo pipefail ROOT="$(cd "$(dirname "$0")" && pwd)" cd "$ROOT" APP_NAME="YanDisk" BUILD_DIR="$ROOT/.build" # SDK из CommandLineTools может не совпадать с тулчейном — берём SDK из Xcode. export SDKROOT="$(xcrun --sdk macosx --show-sdk-path 2>/dev/null || echo "${SDKROOT:-}")" APP_DIR="$BUILD_DIR/${APP_NAME}.app" CONTENTS="$APP_DIR/Contents" MACOS_DIR="$CONTENTS/MacOS" RESOURCES_DIR="$CONTENTS/Resources" echo "==> swift build" swift build -c release BIN="$(swift build -c release --show-bin-path)/YanDisk" echo "==> binary: $BIN" echo "==> assembling .app" rm -rf "$APP_DIR" mkdir -p "$MACOS_DIR" "$RESOURCES_DIR" cp "$BIN" "$MACOS_DIR/YanDisk" cp "$ROOT/Resources/Info.plist" "$CONTENTS/Info.plist" # Icon: classic .icns (Finder/Dock) + asset catalog (light/dark) if [[ -f "$ROOT/Resources/AppIcon.icns" ]]; then cp "$ROOT/Resources/AppIcon.icns" "$RESOURCES_DIR/AppIcon.icns" fi if [[ -f "$ROOT/Resources/AppIconDark.icns" ]]; then cp "$ROOT/Resources/AppIconDark.icns" "$RESOURCES_DIR/AppIconDark.icns" fi if [[ -d "$ROOT/Resources/Assets.xcassets" ]]; then cp -R "$ROOT/Resources/Assets.xcassets" "$RESOURCES_DIR/Assets.xcassets" fi codesign --force --deep --sign - "$APP_DIR" echo "==> done: $APP_DIR" echo "Run: open \"$APP_DIR\""