iMessage Apps — программно создайте анимированную наклейку из .apng

Привет, кто-нибудь еще пытался программно создать пользовательскую наклейку программно с анимированным файлом apng?

У меня не было успеха, но я могу заявить следующее:

  1. Файл .apng правильных размеров и размера файла (300px * 300px) и ‹ 500kb.

  2. Можно добавить это как .png, и он показывает первый кадр (не анимированный)

  3. Изменение имени файла на .apng приводит к возникновению ошибки при вставке стикера в сообщение MS.

  4. Был выбран подход загрузки apng в папку проекта (не в Assets.xcassets), поскольку для наклейки инициализации требуется NSURL, который недоступен, если apng создается как наклейка iOS.

  5. Удалось использовать ту же последовательность в .GIF. это правильно вставлено как наклейка.

Код ниже:

MSConversation *currentConversation = [self activeConversation];

NSURL *urlForSticker2 = [[NSBundle mainBundle] URLForResource:@"elephant_apng" withExtension:@"apng"];
MSSticker *challengeSticker2 = [[MSSticker alloc] initWithContentsOfFileURL:urlForSticker2 localizedDescription:@"My Sticker Localised" error:&myError];

[currentConversation insertSticker:challengeSticker2 completionHandler:^(NSError * error) 
{

//HERE we get: error    NSError *   domain: @"com.apple.messages.stickers-error" - code: 8  0x0000600000058240


 }];

Так что да - очень хочется преодолеть ошибку, показанную выше.


person MagicFlow    schedule 22.06.2016    source источник
comment
У меня такая же проблема, вы могли бы решить? Вы знаете, как создать .apng из файлов png (в коде)?   -  person Carolina    schedule 20.07.2016


Ответы (1)


Может быть, вы забыли нажать здесь, когда добавляете ресурс?

добавить ресурс

и расширение вашего apng-файла должно быть просто "png", когда вы вставляете объект MSSticker.

person c0ming    schedule 13.09.2016
comment
это может быть ошибка iOS. - person c0ming; 13.09.2016