How Sports Scores Update on iOS 16 Lock Screen

Sports scores update continuously on the iOS 16 Lock Screen through an Apple feature called Live Activities, driven by the ActivityKit framework and the Apple Push Notification service (APNs). This system allows sports apps to display real-time, glanceable updates without requiring users to open the app or rely on battery-draining background app refreshes.

The Role of Live Activities and ActivityKit

Introduced in iOS 16, Live Activities are persistent, interactive widgets that sit directly on the Lock Screen and the Dynamic Island. Developers build these displays using Apple's ActivityKit framework combined with SwiftUI. Once a user starts tracking a game—either manually or automatically through supported apps like Apple TV, ESPN, or MLB—the app registers a new Live Activity session with the operating system.

Real-Time Delivery via APNs

Live Activities do not rely on standard background app fetching, which iOS strictly throttles to preserve battery life. Instead, they use a specialized channel within the Apple Push Notification service (APNs).

When a game is in progress:

  1. Server Detection: The sports service's servers monitor live game feeds for changes, such as a scored goal, a strikeout, or a clock update.
  2. Push Payload Dispatch: When an event occurs, the server immediately sends a lightweight, targeted push notification to APNs containing the updated game state in a small JSON payload.
  3. OS-Level Rendering: iOS receives the push payload directly at the system level. The operating system updates the UI of the Live Activity widget instantly, without waking up or launching the full host application.

Low Latency and High Frequency

To provide play-by-play updates that keep pace with live television, Apple allows apps with active Live Activities to use high-priority push notifications with exceptionally low latency. These pushes bypass standard notification banners and audio alerts, silently swapping the numbers, text, and graphics rendered on the Lock Screen.

Battery and Resource Management

Because the host app remains dormant while the Lock Screen updates, CPU usage is minimal. The updates are constrained by payload size limits—typically under 4 kilobytes—and the rendering is managed by the system UI rather than the application's engine. When the game ends, the remote server sends a final payload that dismisses the Live Activity or marks the event as completed, automatically releasing the associated system resources.