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: полный аудит и план доработок
This commit is contained in:
@@ -0,0 +1,67 @@
|
||||
# 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`
|
||||
Reference in New Issue
Block a user