Я строю приложение для iOS, в котором я регистрирую живую деятельность в модели представления: < /p>
Код: Выделить всё
@Observable
class LiveActivityViewModel {
private var activity: Activity?
// more properties
func startActivity() {
// .... (define some vars)
// Create attributes
let attributes = LiveActivityTimerAttributes()
// Create initial state
let state = LiveActivityTimerAttributes.ContentState(
duration: offlineViewModel.state.durationSeconds, //defined earlier
startDate: startDate, // defined earlier
peopleOffline: offlineCountViewModel?.count ?? 0 // defined earlier
)
let content = ActivityContent(state: state, staleDate: nil)
// Request to start activity
do {
activity = try Activity.request(
attributes: attributes,
content: content,
pushType: nil // NEED to pass nil here. Defaut is to allow push notifications to update the live activity
)
print("📣 Requested activity \(activity!.id)")
} catch {
print("Error requesting live activity: \(error)")
}
}
func stopActivity() {
// Update activity state
// Dummy data
let state = LiveActivityTimerAttributes.ContentState(
duration: nil,
startDate: .now,
peopleOffline: 0
)
// Request activity to end
let content = ActivityContent(state: state, staleDate: nil)
Task {
for activity in Activity.activities {
await activity.end(content, dismissalPolicy: .immediate)
}
}
}
}
< /code>
В консоли я вижу это напечатано: < /p>
📣 Starting live activity
📣 Requested activity A383F4AF-9C4A-4840-927F-01A67040AECF
Simulator Phone
(iPhone 16 Simulator) < /p>
То, что я пробовал до сих пор ... < /h3>
Чтобы помочь мне отладить это, я создал приложение для тестовой живой активности, содержащее живое действие по умолчанию (когда вы создаете новый виджет) , и я скопировал модель вида живой активности выше, чтобы Новое приложение, конечно, присваивает его для новых атрибутов. В представлении содержимого у меня есть 2 кнопки, чтобы запустить / остановить живую деятельность. После запуска этого приложения я доказал, что живые действия работают нормально < /strong> на симуляторе iPhone 16. Проверьте один за один за один, чтобы проверить, что разбивает живую деятельность, однако я ничего не мог найти-тестовый проект -это в основном копия реального , просто с измененными именами, и настоящий использует git.
Так что я не понимаю, как отладить это. У меня есть уже проведенный множество исследований < /strong>, включая здесь, например: (пожалуйста, не отмечайте это как дублированный вопрос) < /p>
Все изображения
Я не смог найти ничего в консоли. > Я добавил «Поддерживает живые действия», ключ к да, в info.plist < /li>
< /ul>
Любая помощь очень ценится. < /P>
Подробнее здесь: https://stackoverflow.com/questions/794 ... -appearing
Мобильная версия