Я создал подкласс UNNotificationServiceExtension
, чтобы отображать удаленное вложение в уведомлении. Случайно вложение не отображается.
Проблему трудно воспроизвести, но некоторые пользователи сообщают, что после получения удаленного уведомления с прикрепленным изображением они не видят изображение. После некоторой отладки я столкнулся с этой проблемой один раз. Я заметил, что у downloadTask()
был пустой location
, но код состояния response
был 200
.
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) {
// ...
// Dowload remote media file
URLSession.shared.downloadTask(with: attachmentUrl) { (location: URL?, response: URLResponse?, error: Error?) in
// ...
self.contentHandler!(self.bestAttemptContent!)
}.resume()
}
Кроме того, переменная error
содержала:
"Error Domain=NSPOSIXErrorDomain Code=2 \"No such file or directory\"
UserInfo={NSErrorFailingURLKey=https://<url_to_media_attachment>, NSErrorFailingURLStringKey=https://<url_to_media_attachment>}"
Кажется, что вложение получено правильно, но URLSession
теряет location
URL для извлеченного вложения. Я понятия не имею, в чем причина этой проблемы.
Я тестировал на реальном устройстве iPhone 6S Plus, iOS 10.3.3.
У кого-нибудь была похожая проблема? Любое предложение, что я мог сделать неправильно?