Files
360Clock/README.md
bilal 0697440437 Добавить полноценный Widget Extension и исправить отображение циферблата в виджете.
Вынесена реализация виджета в отдельный target с корректным embedding и Info.plist, чтобы сборка и запуск работали стабильно на устройстве, а также улучшена адаптивная верстка меток и фонового контейнера для соответствия требованиям WidgetKit.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-17 18:59:07 +03:00

33 lines
1.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 360Clock
iOS-приложение на SwiftUI с 24-часовым циферблатом (360°) и Home Screen виджетом на WidgetKit.
## Что умеет
- Основной экран с 24-часовой логикой углов.
- Виджет `systemSmall` и `systemMedium`.
- Три стрелки: часовая, минутная, секундная.
- Адаптивная разметка меток в виджете (без слипания на маленьком размере).
## Структура проекта
- `360Clock/ClockApp.swift` — точка входа приложения.
- `360Clock/ClockView.swift` — UI и расчеты для основного экрана.
- `360Clock/Info.plist``Info.plist` основного приложения.
- `ClockWidgetExtension/ClockWidgetBundle.swift` — виджет, timeline provider и UI виджета.
- `ClockWidgetExtension/Info.plist``Info.plist` extension-таргета.
- `360Clock.xcodeproj/project.pbxproj` — настройки таргетов app + widget extension.
## Важно про обновление виджета
WidgetKit не гарантирует секундные обновления на Home Screen. В текущей реализации timeline запрашивается с шагом в 1 минуту, что соответствует системным ограничениям и budget-политике iOS.
## Сборка
Открой `360Clock.xcodeproj` в Xcode, выбери схему `360Clock` и запускай на симуляторе или устройстве.
Для проверки через CLI (без подписи):
```bash
xcodebuild -scheme 360Clock -configuration Debug -destination 'generic/platform=iOS' -derivedDataPath './DerivedData' CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO build
```