Stickers for iMessage like a part an app

I need help!!
Is it possible to connect iMessage stickers to the Defold game using native extensions?
This one of the feature that Apple wants to see, and I just now understood that I can’t make it without xcode project.
(panic mode on)

1 Like

To be honest, I have no idea.
I think the first step would be to create a standalone app with this feature, then analyze the bundle (e.g. output formats, Info.plist etc) to see what’s required (and possibly missing from our our side)

Perhaps one can take those outputs and put it in your Defold project for bundling?

Are you collaborating with Apple for featuring? I do not believe stickers is a launch requirement.

No, it’s not a requirement.

Collaboration is too strong word. More for the big companies.
But when Apple told “some” small indie on the conference that would be great to have some Apple features like stickers and etc, and them share the contacts (and ask “this indie” to send them more info, builds etc )
I think that “this indie team” have more chances to be featured if made all that Apples ask to do.

1 Like

I tried to make two app, clean ios app (and make a commit to local git the *.app), than add sticker target to the project. Replace original app, and found only one serios difference (exept xcassets file in Plugins folder):
Teeeeeeessst.app/_CodeSignature/CodeResources - has sign information about my files contained in xcassets.

Now I try to find a way to resign the app with this files (after handly adding xcassets file to the ipa) or some way to add Plugins/*.xcassets to the app

1 Like

I was talking with my friends who made stickers for Adobe AIR application.
In fact Defold need only one thing:
possability to add custom files and folders to the package (ipa) before signing the app.
For example now i need to add to my ipa file by path: *.app /Plugins/stickers.xcassets
Then sign the app with all this files.
And that’s all.

I’ll try to make all this by hands ( adding files and resign the app), tomorrow

2 Likes

We should already have that support:

bundle_resources in game.project

and the res/ folder in native extensions.

Have you tried these options?

Cool!
bundle_resources is something new for me - it’s great, I’ll check it!
I tried res for NE, but recieve errors to png files headers into the xcassets package.

But looks like bundle_resources more suitable for my case.

I am checking right now, and I’ll give you know about results.

Thank you!

1 Like

(panic mode off)

Thank you!

11 Likes

That’s great news! And very nice stickers!

1 Like

indeed. I love the stickers

Only one thing, i can’t set an icon. All time recieve an error:

I/O error reading PNG header! iMessage App Icon27x20@2x.png /RedHood/content/external_res/ios/PlugIns/StickerPackExtension.appex line 0 Problem

and it do not depend on icon source. Any icons after packing into xcassets have this error when build app in defold

without icons - all fine

When I try to google about the problem, it looks like Java problem.
Looks like an issue of java util that Defold used for sign the ipa.

UPD:
I tried to use lossless options, and other tricks.
Nothing helps.

Xcode changing icons png, and i cannot avoid this.

That mean I can’t use stickers in my app (it can’t be uploaded without icons) (

I didn’t find workaround to fix :

I/O error reading PNG header! iMessage App Icon27x20@2x.png /RedHood/content/external_res/ios/PlugIns/StickerPackExtension.appex line 0 Problem

I don’t know how to be with it.
Why this tool try to read png headers?

1 Like

I’m a bit unclear as to what part of the step fails?
Can you provide steps to reproduce?

As a workaround, you can always package your .ipa (.zip) yourself, and sign it your self. (not optimal of course, but since you are in a hurry…)

  1. Make an stickers.xcassets using xcode with icons
  2. Add to the defold project using bundle_resources
  3. Try to build IPA :

I/O error reading PNG header! iMessage App Icon27x20@2x.png /RedHood/content/external_res/ios/PlugIns/StickerPackExtension.appex line 0 Problem

now i’ll trying to repack and re-sign stickers.xcassets using my original icons png

My workaround works (at least with the development certificates)
I’ll try to repack it using distribution certificates and upload to the Testflight, and give you know.

But i think it still an issue: why Defold try to read png header when packing ipa build?

I can’t answer the “why” at this point I’m afraid, I’ll have to look into it.

1 Like

Application was uploaded to the iTunes but then I receive a message (mail) :

Dear developer,

We have discovered one or more issues with your recent delivery for “Bring me Cakes”. To process your delivery, the following issues must be corrected:

Invalid iMessage App - Your iMessage app contains an invalid sticker pack. The app may have been built or signed with non-compliant or prerelease tools. For more information, go to developer.apple.com.

Once these issues have been corrected, you can then redeliver the corrected binary.

Regards,

The App Store team

I tried to re-sign stickers.xcassets with my icons recive this error, then I tried to re-sign whole game ipa using original stickers.xcassets - and recieved the same error.

What tools do you use to sign with? Is it latest XCode? (8.3.3)

Also, I don’t understand (I’m new to stickers), do you have to sign both the stickers.xcassets and .ipa?