Как получить вложение изображения в локальное уведомление для отображения на AppleWatch?

У меня есть приложение, которое планирует локальные уведомления с вложениями изображений. Файлы изображений загружаются из Интернета (мои серверы) и хранятся в подпапке каталога документов приложения. На iPhone прикрепленные изображения хорошо отображаются с текстом уведомления. Но на часах изображение не отображается (хотя в предварительном просмотре написано, что у него есть прикрепленное изображение). Раньше все было хорошо на iOS 10 и watchOS 3, но в iOS 11 оно сломалось.

Код:

NSString *imgName = @"img.jpg";
NSURL *fileUrl = [NSURL fileURLWithString:fullPathToImageFile];
NSString *tempDir = NSTemporaryDirectory();

//Copy image file to temp directory because iOS will move it...I want to use it again later
tempDir = [tempDir stringByAppendingPathComponent:imgName];
NSUrL *tempURL = [NSURL fileURLWithString:tempDir];
[[NSFileManager defaultManager] copyItemAtURL:fileUrl toURL:tempURL error:nil];

UNNotificationAttachment *attachment = [UNNotificationAttachment attachmentWithIdentifier:@"image" URL:tempUrl 
   options:@{UNNotificationAttachmentOptionsTypeHintKey: (NSString *)kUTTypeJPEG} error:nil];

content.attachments = @[attachment];
//then schedule notification

Как я могу получить прикрепленное изображение, чтобы показать на часах?

Интересно, что изображение отображается очень хорошо, если оно находится в файле проекта и является частью пакета приложения. Но когда я пытаюсь использовать загруженный файл в папке с документами, он не появляется.

0 ответов

Другие вопросы по тегам