Live Activity "Push to Start" is received but UI never appears (Silent Crash)

Hello everyone,

I'm implementing the "Push to Start" feature for Live Activities, and I've run into an issue where the activity seems to be processed by the system but never appears on the Lock Screen or in the Dynamic Island.

I suspect there's a silent crash happening in my widget extension immediately after launch, but I'm unable to capture any logs or crash reports in the Xcode debugger.

Here is the flow and all the relevant data:

1. The Process

My app successfully requests a pushToStartToken using Activity<EJourneyLiveActivityAttributes>.pushToStartTokenUpdates

The token is sent to our server.

The server uses this token to send a "start" event APNs push notification.

The device console logs (from liveactivitiesd) show that the push is received and the system is "Publishing event".

Expected Result: The Live Activity UI appears on the device.

Actual Result: Nothing appears. The UI is completely absent.

2. Device Console Logs Here are the logs from the device console, which indicate a successful receipt of the push:

pushServer	default	12:08:22.716353+0200	liveactivitiesd	Received push event for com.wavepointer.ejourney.staging::pushToStart
pushServer	default	12:08:22.716818+0200	liveactivitiesd	Reduced budget for com.wavepointer.ejourney.staging::pushToStart to: 7
pushServer	default	12:08:22.723458+0200	liveactivitiesd	Publishing event: timestamp: 2025-07-24 08:57:19 +0000; activityIdentifier: 53C3EE9D-623C-4F38-93AE-8BB807429DAA; eventType: start(...)

3. APNs Payload This is the exact payload being sent from our server:

{
  "aps": {
    "event": "start",
    "timestamp": 1753347375,
    "attributes-type": "EJourneyLiveActivityAttributes",
    "attributes": {
      "journeyId": "test123453"
    },
    "content-state": {
      "distanceInMeters": 1000,
      "depTime": 1752745104,
      "arrTime": 1752748704,
      "depStop": "Arth, Am See",
      "arrStop": "Oberarth, Bifang",
      "depZone": "571",
      "arrZone": "566",
      "co2Save": 5.0,
      "co2SavePerc": 44,
      "companyName": "WP Innovation",
      "countryCode": "CH",
      "categoryId": 5,
      "subcategoryId": 3,
      "stationStartAssoc": "Assoc1",
      "stationEndAssoc": "Assoc2"
    }
  }
}

4. ActivityAttributes Struct

To prevent decoding errors, I have made all properties in my ContentState optional and added a custom decoder.

@available(iOS 16.1, *)
struct EJourneyLiveActivityAttributes: ActivityAttributes, Hashable {
    public struct ContentState: Codable, Hashable {
        var distanceInMeters: Int = 0
        var depTime: Int = 1752843769
        var arrTime: Int = 1752843769
        var depStop: String = ""
        var arrStop: String = ""
        var depZone: String = ""
        var arrZone: String = ""
        var co2Save: Double?
        var co2SavePerc: Int = 0

        var companyName: String = "Test"
        var countryCode: String = "CH"
        var categoryId: Int = 3
        var subcategoryId: Int = 4
        var stationStartAssoc: String?
        var stationEndAssoc: String?
    }

    var journeyId: String?
}

What I've Tried

I have carefully checked that my Codable struct matches the JSON payload. I've made all properties optional to avoid crashes from missing keys.

I have tried attaching the Xcode debugger to the widget extension process (Debug -> Attach to Process...) before sending the push, but no logs, errors, or crash reports appear in the Xcode console. The process seems to terminate before it can log anything.

My question is: What could cause the widget extension to fail so early that it doesn't even produce a crash log in the attached debugger? Are there other methods to debug this kind of silent failure?

Any help would be greatly appreciated. Thank you!

I would also like to add that I tested this on iCloud. I set the type to liveactivity priority to 5 or 10 and the appropriate apns-topic.

Did you get any response on that . Do we need to add entitlements ? Can you share if you able to solve it

If your widget extension is crashing at launch, the device console should be logging something.

It is also possible that it is failing to launch at all, if it looks like it is crashing before it gets to any of your code.

So, what do you see in the logs after the publishing event record?

I know the logs are extremely busy, but if you filter for your Bundle ID, you might see a record of an issue logged by the system.

Live Activity "Push to Start" is received but UI never appears (Silent Crash)
 
 
Q