[ Package conformance ]

Expo SDK · >=55.0.0

expo-background-task

native-seam: upstream expo-background-task JS (BackgroundTaskStatus/Result enums, task-name validation, the Restricted-status iOS-Simulator warning path) runs unchanged from the bundle; only the ExpoBackgroundTask expo module is ours, mirroring BackgroundTaskScheduler.swift/BackgroundTaskModule.swift on the reference iOS Simulator EXACTLY — getStatusAsync returns Restricted (the upstream "if we're on emulator we should definitely return restricted" path) and register/unregisterTaskAsync throw the verbatim simulator exception ("Background Task is not available on simulators. Use a device to test it."). this IS the complete faithful contract on the reference device: BGTaskScheduler does not run on the iOS Simulator at all, so an app calling expo-background-task there already gets exactly this (the upstream JS even has a dedicated Simulator-restricted warning branch). same faithful "the Simulator genuinely cannot do this, and that is correct" tier as expo-sms / react-native-exit-app.
85%
API coverage
ExpoBackgroundTaskLibraryCase PeachExpoBackgroundTaskLibraryCase iOS 26.4
← iOS 26.4|Peach →
expo-background-taskExpo Background Taskexpo-background-task restricted-simulator lifecycle across six proof stages: status, expiration listener, task definition, skipped registration, absent-task unregister, and debug trigger.
Diff0.21%
DeviceiPhone 16
OracleiOS 26.4
CapturedAug 20, 2026
iOS 26.4PeachDiff
Working (4)
getStatusAsync (Restricted — exact upstream emulator path)registerTaskAsync/unregisterTaskAsync (throw the verbatim upstream simulator exception)triggerTaskWorkerForTestingAsync (void)onTasksExpired listener support; upstream enums + task-name validation + the Restricted-status warning path run from the bundle
Missing (1)
real OS background execution windows (BGTaskScheduler/WorkManager) and physical-device "available" status — but these never work on the reference iOS Simulator either (it reports Restricted by design); a real execution path needs a physical device the Simulator and browser alike do not provide