В моем приложении пользователи могут создавать изображения, а затем использовать их в качестве стикеров в iMessages.
Моя проблема в том, что я не могу отобразить созданные изображения, которые хранятся в каталоге документов.
Моя проблема очень похожа на этот вопрос - ТАК вопрос , но в моем случае указанное решение не помогло.
Вот мой код для загрузки изображений:
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)")
}
}
Но я получаю пустой вид без наклеек.
Печать внутри ячейки показывает:
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 >
Изображения отображаются, когда я устанавливаю их из папки внутри проекта Xcode, используя Bundle.main.path
, но не из каталога документов.