【发布时间】:2016-07-08 15:43:50
【问题描述】:
我正在尝试在 iOS 10 中为本地通知创建一个新的通知内容扩展,其中负责内容扩展的通知视图控制器从网络下载图像并将其呈现在 UIImageView 中。我使用适当的 Info.plist 设置了通知内容扩展目标,并且内容扩展非常适合简单的事情,例如渲染带有某些内容的标签,例如模板中的示例代码:
func didReceive(_ notification: UNNotification) {
self.label.text = notification.request.content.body
}
但是,当我尝试将 NSURLSession(或 Swift 3 中的 URLSession)引入组合时,通知内容完全无法加载 - 甚至标签都不再设置:
func didReceive(_ notification: UNNotification) {
self.label.text = notification.request.content.body
let session = URLSession.shared()
let url = URL(string: "https://chart.googleapis.com/chart?cht=p3&chs=250x100&chd=t:60,40&chl=Hello|World")!
let task = session.downloadTask(with: url) { (fileURL, response, error) in
if let path = fileURL?.path {
DispatchQueue.main.async {
self.imageView.image = UIImage(contentsOfFile:path)
}
}
}
task.resume()
}
在通知内容扩展中不允许使用 NSURLSession 吗?我的扩展程序是否可能在下载完成之前被杀死?如果是这样,我如何确保它没有被杀死,以便我可以下载和渲染图像?
【问题讨论】:
-
我遇到了同样的问题,更改传输应用程序的安全性没有任何作用,也没有相关的日志,而且到目前为止我还没有看到任何文档在谈论它......
标签: ios notifications ios10