CtrlK
BlogDocsLog inGet started
Tessl Logo

thiennc-tesoglobal/ios-skills

Community-maintained Agent Skills for complete Swift and Apple-platform app delivery.

73

Quality

92%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Medium

Suggest reviewing before use

Overview
Quality
Evals
Security
Files

content-extension.mdskills/push-notifications/references/

Notification Content Extensions

Use this reference for custom expanded notification UI. A content extension does not replace the service extension: the service extension prepares content, while the content extension renders an expanded interface and handles actions.

Scope and configuration

  • Add a Notification Content Extension target and its NSExtension declaration.
  • Match the notification category identifier in the extension configuration and in the delivered payload/local request.
  • Keep the extension UI bounded and useful when media, network data, or the containing app is unavailable.
  • Use UNNotificationContentExtension lifecycle callbacks for the initial notification and response/action events.

Prefer system controls and Dynamic Type where possible. If media playback is needed, declare and test the relevant audio/session behavior; do not assume the extension has the same lifecycle or memory budget as the containing app.

Response handling

Return an explicit UNNotificationContentExtensionResponseOption for custom actions. Use .dismiss, .dismissAndForwardAction, or .doNotDismiss based on product behavior, and make the action idempotent. Validate payload identifiers again before mutating app state; forward a destination to the app rather than constructing a second navigation stack in the extension.

For service-extension preparation, attachment format/size details, and a full view-controller recipe, read rich-notifications-complete.md.

skills

.mcp.json

README.md

tile.json