- Иконка: AppIconDark.icns + переключение Dock-иконки по effectiveAppearance (KVO)
- Сайдбар: убран 'Скриншоты', 'Файлы' → 'Доступные мне' (заглушка), первая вкладка — все файлы и папки
- SyncPolicyStore.globalMode по умолчанию .cloudOnly ('В облаке')
- build.sh/smoke_test.sh: SDKROOT из Xcode (фикс SDK-конфликта тулчейна 6.3.3/SDK 6.4)
- ПРАВКИ.md: полный аудит и план доработок
68 lines
2.2 KiB
Markdown
68 lines
2.2 KiB
Markdown
# YanDisk
|
||
|
||
Нативный SwiftUI-клиент Яндекс.Диска для macOS (Apple Silicon).
|
||
|
||
## Возможности
|
||
|
||
- Авторизация OAuth
|
||
- Просмотр Диска: папки, файлы, «Недавние», «Корзина»
|
||
- Чтение / скачивание, загрузка (кнопка и drag-and-drop)
|
||
- Копирование, перемещение, переименование, дублирование
|
||
- Удаление в Корзину, восстановление, очистка Корзины
|
||
- Синхронизация `~/Yandex.Disk`: **Везде** / **Только на компьютере** / **Только в облаке**
|
||
- Общий доступ: ссылка, права, пароль, срок действия
|
||
- Иконка в меню-баре, светлая и тёмная темы
|
||
|
||
## Сборка
|
||
|
||
```bash
|
||
cd /Users/statix/Projects/YanDisk
|
||
./build.sh
|
||
open .build/YanDisk.app
|
||
```
|
||
|
||
Установка в `/Applications`:
|
||
|
||
```bash
|
||
rm -rf /Applications/YanDisk.app
|
||
cp -R .build/YanDisk.app /Applications/
|
||
codesign --force --deep --sign - /Applications/YanDisk.app
|
||
```
|
||
|
||
## Иконка
|
||
|
||
Исходники: `icons/Icon-iOS-*.png` (1024×1024).
|
||
Собранные ресурсы:
|
||
|
||
- `Resources/AppIcon.icns` — Dock/Finder
|
||
- `Resources/Assets.xcassets/AppIcon.appiconset` — варианты light/dark (HIG)
|
||
|
||
Пересборка иконки:
|
||
|
||
```bash
|
||
./scripts/generate_icons.sh
|
||
```
|
||
|
||
## Темы
|
||
|
||
Настройки → Основные → **Тема**: Как в системе / Светлая / Тёмная.
|
||
Значение хранится в `AppStorage("Appearance")`.
|
||
|
||
## Структура
|
||
|
||
```
|
||
Sources/YanDisk/
|
||
App/ точка входа, AppDelegate, окна
|
||
Core/ API, OAuth, Keychain, модели, AppStore
|
||
Sync/ движок синхронизации
|
||
UI/ меню-бар, браузер, шаринг, настройки, вход
|
||
icons/ исходные PNG иконки
|
||
Resources/ Info.plist, AppIcon.icns, Assets.xcassets
|
||
```
|
||
|
||
## Авторизация
|
||
|
||
1. Иконка облака → **Добавить аккаунт**
|
||
2. **Войти через Яндекс**
|
||
3. Вставить `access_token`
|