Why iMessage's Save to Stickers hangs on third-party stickers

Last updated 2026-05-15 · iOS 16+

You long-press a sticker your friend sent. iOS shows you the Emoji Details view. The familiar Save to Stickers button is right there. You tap it. Nothing happens. The view stalls. Sometimes you can dismiss it. Sometimes you can't. The sticker never lands in your iOS Stickers drawer.

This isn't a missing button. It's a broken backend. Here's what's actually going on inside iOS, why Apple hasn't fixed it, and the one workaround that actually saves the sticker.

What happens when you tap Save to Stickers

When you tap Save to Stickers on a third-party sticker, iOS launches an internal Apple extension called StickersUltraExtension (full bundle id com.apple.Stickers.UserGenerated.MessagesExtension). This extension is Apple's in-house handler for "user-generated" stickers — the ones that don't come from a built-in sticker pack.

StickersUltraExtension talks to the iOS sticker daemon — stickersd— over XPC (Apple's inter-process communication mechanism). For native Apple stickers (Photos cutouts, Memoji-style stickers), the conversation goes through cleanly and the sticker is written to the system stickers database.

For third-party stickers (anything created by an app using MSStickerBrowserView), the XPC peer connection between StickersUltraExtension and stickersd drops repeatedly. The save action stalls. The system never completes the write to the stickers database. The UI shows you the "saving…" state forever, until you force-quit Messages or wait for it to time out.

This is the same pattern that's been reported by users on r/ios going back to iOS 17.0 — and as of iOS 18, it hasn't been fixed.

Why third-party sticker apps can't fix this

Sticker apps that ship through the App Store (LINE Stickers, Sticker Drop, MemePouch, and so on) talk to iMessage through the public Messages framework. That framework gives third-party apps three things:

  • MSStickerBrowserView— a built-in sticker grid component the app shows in its iMessage extension. Users tap a sticker and it's inserted into the message field.
  • MSConversation.insert / insertAttachment — programmatic ways to put a sticker or attachment into the input field from the extension.
  • UIDropInteraction — the same drag-and-drop API used everywhere else in iOS. A sticker app can register its iMessage extension as a drop target for stickers dragged from the chat.

The framework does not give third-party apps:

  • Access to the iOS system Stickers database
  • A way to register as a save destination for the Save to Stickers button
  • Anything to do with the stickersd daemon or StickersUltraExtension

Apple owns the entire save pipeline. The button you tap in Emoji Details, the XPC message to stickersd, the database where the sticker lands — all Apple-private. When that pipeline breaks, third-party apps can't even diagnose it from inside (the extension that hangs is Apple's, not yours).

The drag-import workaround

The one piece of API that third-party sticker apps do have for receiving stickers from a chat is UIDropInteraction. If an app installs a drop target on its iMessage extension view, you can long-press a sticker in any chat and drag it onto that app's grid. The system delivers the sticker payload to the receiving app, which then saves it to its own library.

This is the workaround. It bypasses StickersUltraExtension and stickersd entirely — the sticker doesn't land in iOS's system Stickers drawer, but it lands in the third-party sticker app's library, and you can send it from there.

The full how-to is in the save-sticker guide — short version: long-press the sticker, drag onto an iMessage sticker app that supports drop import (two fingers if the app isn't open, one if it is), release on the grid.

Why most sticker apps don't support the drag

UIDropInteraction has been on iOS since iOS 11 (2017), but Apple only normalized dragging stickers out of chat bubbles in a later iOS release. Most sticker apps were shipped before that and never wired up a drop target. They'll happily show their stickers in iMessage but can't receive any. MemePouch is one of the few that explicitly does. You can tell by trying the drag — if the receiving app shows a green plus-sign while you hover, it'll accept the drop. If nothing happens, it won't.

The bigger picture — system stickers vs third-party stickers

iOS treats two classes of stickers very differently:

System stickersThird-party stickers
ExamplesPhotos cutouts, Memoji, anything in the iOS Stickers drawerLINE Stickers, MemePouch, any MSStickerBrowserView pack
Saved bystickersd → system Stickers drawerApp's own library only
Save to Stickers button works?YesHangs (StickersUltraExtension / stickersd bug)
Drag import works?N/A (already in system drawer)Yes, if the receiving app supports it
Sticks onto bubblesYesYes (when sent via MSSticker)
File size cap500 KB500 KB for MSSticker, no cap for Messages attachments

FAQ

Is the Save to Stickers button missing for third-party stickers?

No. The button is visible and tappable in Emoji Details / Sticker Details on iOS 17 and 18. It looks identical to the one Apple shows for native cutout stickers. The problem is the backend, not the UI.

Why does it hang?

Tapping the button launches Apple's StickersUltraExtension which talks to the stickersd daemon over XPC. For third-party sticker payloads that XPC connection drops repeatedly and the save never completes.

Will Apple fix this?

Hard to predict. As of iOS 18, no fix has shipped. Don't hold your breath; use the drag workaround.

What's the workaround?

Long-press the sticker, drag it onto a sticker-keyboard app that supports drop import (full guide). MemePouch is one of the few apps that explicitly registers a drop target on its iMessage extension.

Why don't most sticker apps support the drag?

UIDropInteraction has been on iOS since 2017, but most sticker apps were shipped before Apple normalized dragging stickers out of chat bubbles and never wired up a drop target. MemePouch did because the whole point of the app is filling this gap.

Save the next sticker your friend sends

MemePouch supports the drag-import workaround. iMessage-only, $2.99 one-time.

Get MemePouch →