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

1.8 KiB
Raw Permalink Blame History

360Clock

iOS-приложение на SwiftUI с 24-часовым циферблатом (360°) и Home Screen виджетом на WidgetKit.

Что умеет

  • Основной экран с 24-часовой логикой углов.
  • Виджет systemSmall и systemMedium.
  • Три стрелки: часовая, минутная, секундная.
  • Адаптивная разметка меток в виджете (без слипания на маленьком размере).

Структура проекта

  • 360Clock/ClockApp.swift — точка входа приложения.
  • 360Clock/ClockView.swift — UI и расчеты для основного экрана.
  • 360Clock/Info.plistInfo.plist основного приложения.
  • ClockWidgetExtension/ClockWidgetBundle.swift — виджет, timeline provider и UI виджета.
  • ClockWidgetExtension/Info.plistInfo.plist extension-таргета.
  • 360Clock.xcodeproj/project.pbxproj — настройки таргетов app + widget extension.

Важно про обновление виджета

WidgetKit не гарантирует секундные обновления на Home Screen. В текущей реализации timeline запрашивается с шагом в 1 минуту, что соответствует системным ограничениям и budget-политике iOS.

Сборка

Открой 360Clock.xcodeproj в Xcode, выбери схему 360Clock и запускай на симуляторе или устройстве.

Для проверки через CLI (без подписи):

xcodebuild -scheme 360Clock -configuration Debug -destination 'generic/platform=iOS' -derivedDataPath './DerivedData' CODE_SIGNING_ALLOWED=NO CODE_SIGNING_REQUIRED=NO build