Swift 将UIImage导出为消息应用程序的贴纸
我正在尝试将UIImage导出为Messages应用程序的贴纸,但找不到任何相关文档 我的项目启用了贴纸包扩展功能,看到Xcode创建了一个新的贴纸。xcassets,我在那里手动添加的每个图像都会显示在Messages应用程序上用作贴纸,但我如何在那里编程保存图像,以便用户可以从任何图像创建贴纸 我所能找到的只是与创建贴纸相关的信息,而无需编写任何代码,只需发送带有预定义图像的应用程序Swift 将UIImage导出为消息应用程序的贴纸,swift,imessage,ios-stickers,mssticker,msstickerview,Swift,Imessage,Ios Stickers,Mssticker,Msstickerview,我正在尝试将UIImage导出为Messages应用程序的贴纸,但找不到任何相关文档 我的项目启用了贴纸包扩展功能,看到Xcode创建了一个新的贴纸。xcassets,我在那里手动添加的每个图像都会显示在Messages应用程序上用作贴纸,但我如何在那里编程保存图像,以便用户可以从任何图像创建贴纸 我所能找到的只是与创建贴纸相关的信息,而无需编写任何代码,只需发送带有预定义图像的应用程序 let sticker = try MSSticker(contentsOfFileURL: url, lo
let sticker = try MSSticker(contentsOfFileURL: url, localizedDescription: "Test")
我知道如何从图像文件创建MSSticker,但在此之后,我不知道如何继续并使新创建的标签显示在消息应用程序上。标签从标签资产目录
.xstickers
加载。
此目录是一个资源文件/文件夹,这意味着它位于捆绑包中。捆绑包中的所有文件都不可写,它们只有读取权限。IMO您需要做的是:
- 您必须将用户自定义图像存储在任何一个沙盒文件夹(文档、库和临时文件夹)中
- 从该文件夹中读取图像,并以与您相同的方式创建
。-MSSticker
并添加。这张贴纸是用来排列的let sticker=try MSSticker(contentsofileurl:url,localizedDescription:“Test”)
- 在
中,您将从上一步创建的阵列中加载标签msstickerbrowservicewcontroller
override func numberOfStickers(in stickerBrowserView: MSStickerBrowserView) -> Int {
stickers.count
}
override func stickerBrowserView(_ stickerBrowserView: MSStickerBrowserView,
stickerAt index: Int) -> MSSticker {
stickers[index]
}
好的,这显示了一个带有我创建的标签的浏览器视图。但我不明白显示此视图如何将它们导入到Messages应用程序。这是我想做的一个例子:你解决了这个问题吗?对不起,我想不出办法让它像你希望的那样工作。