iOS 18 DeviceActivityReportExtension fails TestFlight validation - No workaround exists?

I'm stuck in an impossible situation with DeviceActivityReportExtension on iOS 18.

THE ISSUE:

Configuration that works on device (iOS 18.2):

  • Info.plist has only NSExtensionPointIdentifier

  • Swift code uses u/main attribute

  • App installs and runs perfectly

  • Extension works correctly

  • App Store validation FAILS: "Missing NSExtensionPrincipalClass"

Adding NSExtensionPrincipalClass (as validation requests):

  • Device installation FAILS with Error 3002

  • Error says: "NSExtensionPrincipalClass key is not allowed for this extension point"

  • Cannot test on device

  • Validation would likely pass

ENVIRONMENT:

  • Xcode 16.2

  • iOS 18.2

  • Extension point: com.apple.deviceactivityui.report-extension

EVIDENCE IT'S WIDESPREAD:

ROOT CAUSE:

iOS 18 changed this extension to use u/main pattern (no NSExtensionPrincipalClass needed). App Store validation hasn't been updated and still expects iOS 17 configuration.

WHAT I'VE TRIED:

✅ All deployment targets set to iOS 18.3

✅ Code follows Apple's WWDC 2022 guidance

✅ All entitlements correct

✅ Info.plist validated

✅ Clean builds

✅ Works perfectly on device

No configuration satisfies both device runtime AND App Store validation.

Has anyone successfully uploaded an app with DeviceActivityReportExtension to TestFlight on iOS 18? Any workarounds?

This is blocking TestFlight deployment completely.

iOS 18 DeviceActivityReportExtension fails TestFlight validation - No workaround exists?
 
 
Q