- Иконка: AppIconDark.icns + переключение Dock-иконки по effectiveAppearance (KVO)
- Сайдбар: убран 'Скриншоты', 'Файлы' → 'Доступные мне' (заглушка), первая вкладка — все файлы и папки
- SyncPolicyStore.globalMode по умолчанию .cloudOnly ('В облаке')
- build.sh/smoke_test.sh: SDKROOT из Xcode (фикс SDK-конфликта тулчейна 6.3.3/SDK 6.4)
- ПРАВКИ.md: полный аудит и план доработок
44 lines
1.3 KiB
Bash
Executable File
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\""
|