好吧,我对url定位过程相当新(我总是只使用显式名称),每个人都是MSMessageStickers的新手。然而。我需要从我已经复制到我的项目中的MessagesExtension目标的图像文件夹(它是starterPack)中提取一个图像网址数组,以用作MSStickers
:
它可能是Swift 3语法搞砸了这个或其他东西,但我无法找到任何方法来获取该文件夹的正确URL并获取其中的所有图像。以下是成功用PNGS制作具有特定名称的贴纸:
for i in (1..<2) {
if let url = Bundle.main.url(forResource: "test\(i)", withExtension: "png") {
do {
//let sticker = try MSSticker(contentsOfFileURL: url, localizedDescription: "")
let sticker = try MSSticker(contentsOfFileURL: url, localizedDescription: "")
//print("SUCCESS", url)
stickers.append(sticker)
} catch {
print(error)
}
}
}
我已经从类似的问题How to get array of UIImage, from folder, in Swift?中将以下内容改编为Swift 3:
if let path = NSBundle.mainBundle().resourcePath {
let imagePath = path + "/images"
let url = NSURL(fileURLWithPath: imagePath)
let fileManager = NSFileManager.defaultManager()
let properties = [NSURLLocalizedNameKey,
NSURLCreationDateKey, NSURLLocalizedTypeDescriptionKey]
do {
let imageURLs = try fileManager.contentsOfDirectoryAtURL(url, includingPropertiesForKeys: properties, options:NSDirectoryEnumerationOptions.SkipsHiddenFiles)
print("image URLs: \(imageURLs)")
// Create image from URL
var myImage = UIImage(data: NSData(contentsOfURL: imageURLs[0])!)
} catch let error1 as NSError {
print(error1.description)
}
}
但是因为文件夹在我的项目文件夹中不是技术上的,而是在您看到的messagesExtension文件夹中,我认为这就是为什么它找不到它。
我需要引入并获取贴纸文件夹中包含的所有图像的网址。我做错了什么?