在我,Notification Service Extension我正在从URL下载图像,以显示UNNotificationAttachment在通知中.
所以我把这个图像作为UIImage,并没有看到需要在光盘上的我的app目录/组容器中写它只是为了设置通知.
有没有一个很好的方法创建UNNotificationAttachment一个UIImage?
(应该适用于本地和远程通知)
我想将 Assets.xcassets 中的图像附加到通知中。我一直在寻找解决方案大约一个小时,这似乎是唯一的方法:
func createLocalUrl(forImageNamed name: String) -> URL? {
let fileManager = FileManager.default
let cacheDirectory = fileManager.urls(for: .cachesDirectory, in: .userDomainMask)[0]
let url = cacheDirectory.appendingPathComponent("\(name).png")
guard fileManager.fileExists(atPath: url.path) else {
guard
let image = UIImage(named: name),
let data = UIImagePNGRepresentation(image)
else { return nil }
fileManager.createFile(atPath: url.path, contents: data, attributes: nil)
return url
}
return url
}
Run Code Online (Sandbox Code Playgroud)
来源:我可以从 XCAssets 包中获取 NSURL 吗?
这似乎有点矫枉过正。但是,据我所知,这是获取可以使用的 URL 的唯一方法:
let imageURL = createLocalUrl(forImageNamed: "TestImage")
let attachment = try! UNNotificationAttachment(identifier: "image", url: imageURL!, options: …Run Code Online (Sandbox Code Playgroud)