Мигрировать ViewModel на @Observable
Когда использовать: Приложение на iOS 17+, но ViewModel-ы всё ещё используют ObservableObject + @Published.
Предварительные требования
- Скилл установлен — git clone https://github.com/CharlesWiltgen/Axiom ~/.claude/skills/axiom
- Минимальный deployment target iOS 17 — Настройки проекта
Поток
-
ИнвентаризацияAxiom: перечисли каждый ObservableObject + @Published в проекте. Отметь какие leaf, какие shared.✓ Скопировано→ Список с формой + подсказками о зависимостях
-
Мигрировать одинОтрефактори ProfileViewModel на @Observable. Сохрани публичный API стабильным. Обнови байндинги его View-потребителей.✓ Скопировано→ VM мигрирован; @Bindable используется в View; @Published не осталось
-
ПроверитьЗапусти xcodebuild для схемы. Сообщи о предупреждениях.✓ Скопировано→ Чистая сборка; нет предупреждений Swift 6
Итог: Современная кодовая база на @Observable с более чистыми View.
Подводные камни
- Существующие тесты полагаются на проекцию @Published ($name) — Тесты нужно переписать; не все паттерны доступа напрямую отображаются