Анимированные изображения для расширений iMessage?

У меня нет проблем с отправкой изображений, но когда я пытаюсь прикрепить файл APNG или GIF к MSMessageTemplateLayout, используя изображение и mediaFileURL, ни одно из изображений не анимируется...

Как люди могут отправлять стикеры с помощью приложения iMessage?

NSURLComponents* components = [[NSURLComponents alloc] init];
components.queryItems = [setup iMessageData]; //returns query items array

MSMessageTemplateLayout* layout = [[MSMessageTemplateLayout alloc] init];
//loaded via assets
//layout.image = [UIImage imageNamed:@"testSticker"];

//loaded via bundle
layout.mediaFileURL = [[NSBundle mainBundle] URLForResource:@"testSticker" withExtension:@"png"];    
layout.caption = @"Test String"

MSMessage* message = [[MSMessage alloc] init];
message.URL = components.URL;
message.layout = layout;

[self.activeConversation insertMessage:message completionHandler:^(NSError * _Nullable error)

person JMan Mousey    schedule 09.02.2017    source источник


Ответы (1)


Используйте CollectionView или MSStickerBrowserViewController, чтобы создать коллекцию наклеек.

Если вы хотите использовать CollectionView, внутри каждой ячейки вам нужно создать MSStickerView, поэтому создайте MSSticker: let sticker = try MSSticker(contentsOfFileURL: URL_OF_FILE, localizedDescription: "PNG")

Если вы хотите использовать MSStickerBrowserViewController, создайте также MSSticker и заполните внутри stickerBrowserView(_:stickerAt:) (подробнее см.: https://developer.apple.com/documentation/messages/msstickerbrowserviewdatasource )

person kileros    schedule 20.06.2017