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.