Сохраняйте пользовательские данные тренировок с помощью SwiftData ⇐ IOS
-
Гость
Сохраняйте пользовательские данные тренировок с помощью SwiftData
В настоящее время я разрабатываю приложение для iOS 17/watchOS 10, которое по сути представляет собой приложение для тренировок, которое синхронизирует данные с новым Swift API для зеркалирования тренировок (func startMirroringToCompanionDevice(completion: @escaping (Bool, Error?) - > Пустота)).
Однако я попробовал несколько подходов для сохранения данных, которые пользователь вводит сам во время тренировки после настройки контейнера CloudKit:
[*]Я пометил все свои классы как @Model, но это приведет к созданию повторяющихся записей в контейнере CloudKit при отправке данных с iPhone на Apple Watch и наоборот. [*]Я создал аналогичные классы без использования @Model для текущей тренировки из моделей SwiftData, но, по моему мнению, это не очень хороший подход из-за дублированного кода. [*]Я пытался сохранить свои пользовательские данные с помощью самого HKWorkout, но, насколько мне известно, нет способа сохранить какие-либо пользовательские метаданные?
Я буду признателен за любые комментарии по этой теме, поскольку это мой первый проект, связанный с разработкой на Swift. Я также хотел бы запустить приложение только как приложение для iPhone/только для Apple Watch, но в данный момент моя главная задача — синхронизация данных между устройствами и их правильное сохранение.
В настоящее время я разрабатываю приложение для iOS 17/watchOS 10, которое по сути представляет собой приложение для тренировок, которое синхронизирует данные с новым Swift API для зеркалирования тренировок (func startMirroringToCompanionDevice(completion: @escaping (Bool, Error?) - > Пустота)).
Однако я попробовал несколько подходов для сохранения данных, которые пользователь вводит сам во время тренировки после настройки контейнера CloudKit:
[*]Я пометил все свои классы как @Model, но это приведет к созданию повторяющихся записей в контейнере CloudKit при отправке данных с iPhone на Apple Watch и наоборот. [*]Я создал аналогичные классы без использования @Model для текущей тренировки из моделей SwiftData, но, по моему мнению, это не очень хороший подход из-за дублированного кода. [*]Я пытался сохранить свои пользовательские данные с помощью самого HKWorkout, но, насколько мне известно, нет способа сохранить какие-либо пользовательские метаданные?
Я буду признателен за любые комментарии по этой теме, поскольку это мой первый проект, связанный с разработкой на Swift. Я также хотел бы запустить приложение только как приложение для iPhone/только для Apple Watch, но в данный момент моя главная задача — синхронизация данных между устройствами и их правильное сохранение.
Мобильная версия