iOS 12 Grouped Notification Header Customization
With the release of iOS 12, Apple introduced notification grouping to help users manage clutter on the Lock Screen and Notification Center. Third-party developers can customize the text summary within grouped notification headers to dynamic, context-specific information, but they cannot alter the overall layout, fonts, or visual design of the system-level header itself.
In iOS 12, the UserNotifications framework gives developers control
over how notifications are bundled by utilizing the
threadIdentifier property on the
UNNotificationContent object. When multiple notifications
share the same thread identifier, iOS automatically bundles them into a
single visual stack.
To customize the summary text that appears in the grouped header,
developers must configure a UNNotificationCategory using
the categorySummaryFormat parameter. This format string
defines how the system describes the collapsed stack, using format
specifiers such as %u for the count and %@ for
custom arguments. For example, a developer can set a format like
"%u more messages from %@" to provide immediate context
without requiring the user to expand the group.
To populate these dynamic strings, individual notifications provide a
summaryArgument (such as a sender's name) and optionally a
summaryArgumentCount if a single notification represents
multiple items.
While developers have control over this summary text and grouping logic, visual customization remains strictly controlled by iOS. Third-party apps cannot modify the font, color, layout, or icons of the collapsed grouped notification header. Custom user interfaces created using Notification Content App Extensions only apply when a user explicitly expands or interacts with a specific notification, not to the collapsed group header shown on the Lock Screen.