Ich habe gearbeitet, reiche Benachrichtigung Erfahrung, die in iOS10 eingeführt wurde und stecken mit Bilder als Anhänge zu UNNotificationContentExtension
übergeben.Bild von Anhang von lokalen Benachrichtigung wird nicht in UNNotificationContentExtension
Hier ist meine ContentExtension:
class NotificationViewController: UIViewController, UNNotificationContentExtension {
@IBOutlet weak var attachmentImage: UIImageView!
func didReceive(_ notification: UNNotification) {
if let attachment = notification.request.content.attachments.first {
if attachment.url.startAccessingSecurityScopedResource() {
attachmentImage.image = UIImage(contentsOfFile: attachment.url.path)
attachment.url.stopAccessingSecurityScopedResource()
}
}
}
}
als Tutorial, ich habe folgende Advanced Notifications video from WWDC. ich eingecheckt haben - UIImage
Ich bin zu UIImageView Zuordnung:
- ist nicht
nil
- richtige
CGSize
(191x191) - attachment.url.path gleich
/var/mobile/Library/SpringBoard/PushStore/Attachments/<bundle of app>/<...>.png
hat So sende ich lokale Benachrichtigung von der App:
let content = UNMutableNotificationContent()
content.title = "Sample title"
content.body = "Sample body"
content.categoryIdentifier = "myNotificationCategory"
let attachement = try! UNNotificationAttachment(identifier: "image",
url: Bundle.main.url(forResource: "cat", withExtension: "png")!,
options: nil)
content.attachments = [ attachement ]
let request = UNNotificationRequest(identifier:requestIdentifier, content: content, trigger: nil)
UNUserNotificationCenter.current().delegate = self
UNUserNotificationCenter.current().add(request){(error) in
if (error != nil){
}
}
"cat.png" ist nur eine Dummy-Ressource, die ich zu proj hinzugefügt habe.
Wie Sie sehen können, Meldung zeigt das Bild, so nehme ich an, dass ich es richtig, aber im expandierten Zustand (in NotificationViewController
) ich zeigt das gleiche Bild noch nie gelingen würde senden.
Was mache ich falsch? Danke!
Hallo Ich bin immer noch das gleiche Problem, das nicht in der Lage, Bild im erweiterten Zustand anzuzeigen. Kannst du mir helfen? Mein Code ist in Ziel c. –