Экспорт UIImage как стикера для приложения Сообщения
Я пытаюсь экспортировать UIImage как стикер для приложения "Сообщения", но не могу найти никакой документации по этому поводу.
У меня есть проект с включенным расширением Sticker Pack, и я вижу, что Xcode создал новый Stickers.xcassets, каждое изображение, которое я добавляю туда вручную, появляется в приложении "Сообщения" для использования в качестве стикера, но как я могу сохранить изображение там программно, так что пользователь может создавать стикеры из любого изображения?
Все, что я могу найти, это информация, связанная с созданием стикеров без написания кода, просто отправка приложения с предопределенными изображениями.
let sticker = try MSSticker(contentsOfFileURL: url, localizedDescription: "Test")
Я знаю, как создать MSSticker из файла изображения, но после этого я не знаю, как продолжить и сделать так, чтобы эта вновь созданная наклейка появилась в приложении "Сообщения".
1 ответ
Стикеры загружаются из каталога активов стикеров .xcstickers
. Этот каталог представляет собой файл / папку ресурсов, что означает, что он находится внутри вашего пакета. Все файлы внутри вашего пакета недоступны для записи, и у них есть только права на чтение. ИМО, что вам нужно сделать, это:
Вы должны хранить пользовательские изображения в любой из изолированных папок (Documents, Library и temp).
Прочтите изображение из этой папки и создайте
MSSticker
оттуда так же, как и вы. -let sticker = try MSSticker(contentsOfFileURL: url, localizedDescription: "Test")
и добавить. эту наклейку в массив.- В вашем
MSStickerBrowserViewController
вы загрузите стикеры из массива, созданного на предыдущем шаге.
Нравится
override func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int {
stickers.count
}
override func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView,
stickerAt index: Int) -> MSSticker {
stickers[index]
}