Live Activities widget extension does not reflect updated SwiftUI UI (custom views/assets appear ignored)

Hello Apple Developer Technical Support,

I’m following up on case #102807413324 and submitting this as a code-level support request.

We are integrating iOS Live Activities (ActivityKit + WidgetKit extension written in SwiftUI) into an Expo/React Native app. We’re seeing behavior where the Live Activity UI shown on the Lock Screen appears to “stick” to an older layout and ignores updated SwiftUI code and/or bundled assets, even after rebuilding, reinstalling, and removing existing Live Activities before testing again.

Environment

  • Device: iPhone 13
  • iOS: 26.2
  • macOS: 15.7.3 (24G419)
  • Xcode: 16.4 (16F6)
  • Expo SDK: 52
  • React Native: 0.76.9
  • expo-live-activity: ^0.4.2
  • Build type: Ad-Hoc signed IPA (EAS local build)

Summary

  • We have a WidgetKit extension target (LiveActivity.appex, bundle id: stimul8.LiveActivity) using ActivityConfiguration(for: LiveActivityAttributes.self).
  • The extension contains multiple SwiftUI views selected via a “route” (derived from deepLinkUrl / title / subtitle), and uses images/backgrounds from the extension asset catalog (Assets.xcassets). We also support loading images from an App Group container with a fallback to the asset catalog.
  • After shipping updates, the Live Activity UI shown on the Lock Screen continues to resemble an older/default layout (example: a progress-bar-like element remains visible even after removing ProgressView usage from LiveActivityView.swift). Some custom backgrounds/images also fail to display as expected.

Routing (examples)

  • /streak -> StreakLiveActivityView
  • /streak-urgent -> StreakUrgentLiveActivityView
  • /lesson/create -> AILessonLiveActivityView1
  • /lesson/reminder -> AILessonLiveActivityView2
  • default -> LiveActivityView

Steps to reproduce (high-level)

  1. Install/build and trigger a Live Activity.
  2. Modify the SwiftUI layout in the extension (e.g., remove ProgressView and change obvious UI elements), rebuild, and reinstall.
  3. Remove any existing Live Activities from the Lock Screen, then trigger a new Live Activity again.
  4. Observed: Lock Screen Live Activity still renders the prior/older-looking UI and/or ignores updated assets.

Troubleshooting already done

  • Verified the extension (LiveActivity.appex) is included in the IPA and properly signed.
  • Verified Assets.car is present in the extension and PNG assets are present in the build artifacts.
  • Ensured SwiftUI source files used by the extension are overwritten during prebuild so the intended versions are present in ios/LiveActivity.
  • Cleared DerivedData related to LiveActivity builds.
  • Reinstalled the app and removed existing Live Activities from the Lock Screen before re-triggering new ones.

Questions

  1. Is there any known caching behavior where Live Activities can continue to display a previous UI layout after an app/extension update, even when the activity is re-created?
  2. Are there recommended steps to force the system to load the newest widget extension binary/UI beyond reinstalling and removing existing Live Activities?
  3. What’s the recommended way to confirm which exact extension binary/UI version is being rendered on-device (e.g., specific Console logs, sysdiagnose signals, or other indicators)?
  4. Are there any known constraints with Assets.xcassets usage for Live Activities that could cause bundled assets not to render even when present?

We can provide

  • A minimal reproduction Xcode project (preferred)
  • The IPA build
  • Build logs (Xcode/EAS)
  • Screenshots/video and a sysdiagnose captured after reproduction

Thank you for your guidance.

Best regards

Live Activities widget extension does not reflect updated SwiftUI UI (custom views/assets appear ignored)
 
 
Q