Живые мероприятия регистрируются, но не появляютсяIOS

Программируем под IOS
Ответить
Anonymous
 Живые мероприятия регистрируются, но не появляются

Сообщение Anonymous »

контекст < /h3>
Я строю приложение для 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
Обратите внимание, что содержание живой деятельности не зависит от точки и вообще не влияет. /> Как видите, живая активность зарегистрирована, но она не появляется на экране блокировки, когда запускается на симуляторе iPhone 16 Plus. Я также проверил его на своем iPhone 11, и он не отображается на экране блокировки там: < /p>
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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»