iMessage应用程序 - 以编程方式创建.apng

时间:2016-06-22 01:38:31

标签: ios objective-c imessage

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

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

  1. .apng文件的正确尺寸和文件大小(300px * 300px)和< 500KB。

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

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

  4. 已经采取了将apng加载到项目文件夹(而不是在Assets.xcassets中)的方法,因为初始化标签需要NSURL,如果将apng创建为iOS贴纸,则无法使用NSURL。

  5. 在.GIF中管理用户相同的序列。这个正确插入贴纸。

  6. 以下代码:

    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
    
    
     }];
    

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

1 个答案:

答案 0 :(得分:0)

也许你忘了在添加资源时点击这里?

add resource

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