问题描述
我已经为推送通知实现了服务和内容。当图像不可用时,图像视图空间仍显示为空白。没有图像时,我只需要通知文本即可。
这是我的代码
func didReceive(_ notification: UNNotification) {
let content = notification.request.content
if let urlImageString = content.userInfo["image"] as? String {
if let url = URL(string: urlImageString) {
URLSession.downloadImage(atURL: url) { [weak self] (data,error) in
if let _ = error {
return
}
guard let data = data else {
return
}
dispatchQueue.main.async {
self?.imageView.image = UIImage(data: data)
}
}
}
}
}
}
extension URLSession {
class func downloadImage(atURL url: URL,withCompletionHandler completionHandler: @escaping (Data?,NSError?) -> Void) {
let dataTask = URLSession.shared.dataTask(with: url) { (data,urlResponse,error) in
completionHandler(data,nil)
}
dataTask.resume()
}
}
解决方法
您必须在.plist文件中将“ UNNotificationExtensionInitialContentSizeRatio”添加到0,如下图所示。