I am using ActivityKit push-to-start Live Activities on iOS 17.2 and later.
In a small number of user reports, the app is never able to obtain Activity<LiveActivityAttributes>.pushToStartToken.
The flow is:
Task {
if let token = Activity<LiveActivityAttributes>.pushToStartToken {
// cache and upload token
} else {
// logged: current push-to-start token is nil
}
for await token in Activity<LiveActivityAttributes>.pushToStartTokenUpdates {
// cache and upload token
}
}
This task is started when the app launches.
For the affected users:
Activity<LiveActivityAttributes>.pushToStartTokenreturnsnilat app launch.Activity<LiveActivityAttributes>.pushToStartTokenUpdatesnever emits any value.- After waiting for a while, reading
Activity<LiveActivityAttributes>.pushToStartTokenagain still returnsnil. - When an existing Live Activity ends or expires, the app retries and reads
Activity<LiveActivityAttributes>.pushToStartTokenagain, but it is stillnil.
Example log from the retry after the Live Activity ended:
[Live Activity][retryDisplayCreationAfterLiveActivityEnded] Failed to read PushToStart token. local entity is nil: true
In this case, the local entity is empty because no push-to-start token was ever received from ActivityKit. This is not about the per-activity activity.pushToken; the issue is specifically with the app-level Activity<Attributes>.pushToStartToken.
Because the push-to-start token remains empty, our server cannot send a push-to-start request for that user.
I have seen a previous forum response mentioning a timing issue before iOS 26, but this affected case is on iOS 26.5, so I am not sure whether this is the same issue or a different condition.
Questions:
- Under what conditions can
Activity<Attributes>.pushToStartTokenremainnilindefinitely? - Is
pushToStartTokenUpdatesexpected to emit the current token after app launch, or only future token changes? - If the initial
pushToStartTokenread returnsnil, what is the recommended retry strategy on iOS 26.5? - Does Live Activities authorization, notification permission, APNs registration state, app install source, or device state affect generation of the push-to-start token?
- What logs or sysdiagnose information would be useful to confirm whether this is an ActivityKit issue?
Environment:
iOS version: 26.5
Device model: iPhone 17
App install source: TestFlight
Xcode version: 26.3
ActivityKit usage: push-to-start Live Activity
Any guidance on whether this is expected behavior, a known issue, or something we should file through Feedback Assistant would be appreciated.