gpt4 book ai didi

ios - 无法在 iMessage 扩展中显示文档目录中的贴纸

转载 作者:行者123 更新时间:2023-11-29 05:48:47 26 4
gpt4 key购买 nike

在我的应用中,用户可以创建图像,然后将它们用作 iMessage 中的贴纸。

我的问题是无法显示存储在文档目录中创建的图像。

我的问题与这个问题非常相似 - SO Question但就我而言,所说的解决方案没有帮助。

这是我获取图像的代码:

 func getImages(finished: () -> Void) {
imageData.removeAll()
let imageNames = keyboardUserDefaults!.stringArray(forKey: "Created stickers")
for imageName in imageNames! {
// let imagePath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let filePath = (NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0] as NSString).appendingPathComponent(imageName)
// imageData.append(imagePath + "/" + imageName)
imageData.append(filePath)
}

print("Image Data - ", imageData)

finished()
}

这是我如何将其应用到 StickerView:

 func configure(usingImageName imagePath: String) {
let urlToImage = URL(fileURLWithPath: imagePath)
do {
let description = NSLocalizedString("", comment: "")
let sticker = try MSSticker(contentsOfFileURL: urlToImage, localizedDescription: description)

print("Sicker is here - ", sticker)

stickerView.sticker = sticker
}
catch {
fatalError("Failed to create sticker: \(error)")
}
}

但是我得到的是没有贴纸的空白 View 。

在单元格内打印显示:

Sicker is here -  <MSSticker-<0x280393640> imageFileURL file:///var/mobile/Containers/Data/PluginKitPlugin/32AF9E44-F2F1-4FD1-80B5-E8E4B6C6E338/Documents/F54067B8-18DA-4737-8ED3-B716E368AF6E.png localizedDescription >

当我使用 Bundle.main.path 从 Xcode 项目内的文件夹中设置图像时,图像会显示,但不是从文档目录中设置。

最佳答案

我找到了问题的根源:

应用程序扩展无法访问默认的文档目录文件夹。

解决方案:

使用应用程序组并在保存和检索图像时为图像创建路径,如下所示:

let url = fileManager.containerURL(forSecurityApplicationGroupIdentifier: "YOUR_APP_GROUP_NAME")?.appendingPathComponent("image.png")

之后,您可以轻松访问应用程序扩展中的图像。

希望这对将来的人有帮助!

关于ios - 无法在 iMessage 扩展中显示文档目录中的贴纸,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55874821/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com