Files
YanDisk/build.sh
T
akhmed 9098340f2a YanDisk v1.0.1: тёмная иконка по теме системы, вкладки (Скриншоты скрыт, Файлы→Доступные мне), синк по умолчанию 'В облаке', ПРАВКИ.md
- Иконка: AppIconDark.icns + переключение Dock-иконки по effectiveAppearance (KVO)
- Сайдбар: убран 'Скриншоты', 'Файлы' → 'Доступные мне' (заглушка), первая вкладка — все файлы и папки
- SyncPolicyStore.globalMode по умолчанию .cloudOnly ('В облаке')
- build.sh/smoke_test.sh: SDKROOT из Xcode (фикс SDK-конфликта тулчейна 6.3.3/SDK 6.4)
- ПРАВКИ.md: полный аудит и план доработок
2026-09-15 21:16:22 +03:00

44 lines
1.3 KiB
Bash
Executable File

#!/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\""