2016-06-22 18 views
8

Hallo hat jemand versucht, programmatisch mit einer animierten apng-Datei programmatisch einen benutzerdefinierten Aufkleber zu erstellen?iMessage Apps - Erstellen Sie programmatisch animierte Aufkleber von .apng

Ich habe keinen Erfolg gehabt, aber den folgenden angeben kann:

  1. .apng Datei von korrekten Abmessungen und Dateigröße (300px * 300px) und < 500kb.

  2. Kann dies als .png hinzufügen und es zeigt den ersten Frame (nicht animiert)

  3. Ändern von Dateinamen .apng bewirkt, dass ein Fehler beim Einlegen Aufkleber auf MS Message angehoben werden.

  4. Haben Sie den Ansatz des Ladens der apng in den Projektordner (nicht in Assets.xcassets) genommen, da der Initialisierungsaufkleber eine NSURL benötigt, die nicht zur Verfügung gestellt wird, wenn apng als iOS-Aufkleber erstellt wird.

  5. Verwaltet, um die gleiche Sequenz in .GIF zu verwenden. Dies ist korrekt als Aufkleber eingefügt.

-Code unten:

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 


}]; 

Also ja - daran interessiert, den Fehler, der oben gezeigt überwinden zu können.

+1

Ich habe das gleiche Problem, das Sie lösen könnten? Weißt du, wie man eine .apng aus PNG-Dateien (im Code) erstellt? – Carol

Antwort

0

Vielleicht vergessen Sie hier klicken, wenn Sie die Ressource hinzufügen?

add resource

und Ihre Erweiterung des APNG Datei sollte nur "png" sein, wenn Sie ein Objekt MSSticker einfügen.

+0

ist es vielleicht ein iOS Bug. – c0ming