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)
Install/build and trigger a Live Activity.
Modify the SwiftUI layout in the extension (e.g., remove ProgressView and change obvious UI elements), rebuild, and reinstall.
Remove any existing Live Activities from the Lock Screen, then trigger a new Live Activity again.
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
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?
Are there recommended steps to force the system to load the newest widget extension binary/UI beyond reinstalling and removing existing Live Activities?
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)?
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