【问题标题】:iMessage Apps - Programatically create animated sticker from .apngiMessage 应用程序 - 以编程方式从 .apng 创建动画贴纸
【发布时间】:2016-10-23 18:06:35
【问题描述】:

您好,有没有人尝试过使用动画 apng 文件以编程方式创建自定义贴纸?

我没有成功,但可以说明以下内容:

  1. .apng 文件具有正确的尺寸和文件大小 (300px * 300px) 和

  2. 可以将其添加为 .png 并显示第一帧(非动画)

  3. 将文件名更改为 .apng 会导致在将贴纸插入 MS 消息时引发错误。

  4. 已采取将 apng 加载到项目文件夹(不在 Assets.xcassets 中)的方法,因为初始化贴纸需要一个 NSURL,如果将 apng 创建为 iOS 贴纸,则该 NSURL 不可用。

  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


 }];

所以是的 - 渴望能够克服上面显示的错误。

【问题讨论】:

  • 我遇到了同样的问题,您可以解决吗?你知道如何从 png 文件(在代码中)创建 .apng 吗?

标签: ios objective-c imessage


【解决方案1】:

可能你在添加资源的时候忘记点击这里了?

当您插入 MSSticker 对象时,您的 apng 文件的扩展名应该只是 "png"

【讨论】:

  • 这可能是一个 iOS 错误。
猜你喜欢
  • 2020-01-26
  • 1970-01-01
  • 2017-10-15
  • 1970-01-01
  • 1970-01-01
  • 2016-12-23
  • 2017-07-08
  • 1970-01-01
  • 2011-09-09
相关资源
最近更新 更多