Stickers for iMessage like a part an app

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?

Yes, stickers.xcassets it’s like independend application but packaging into main IPA.
I cant build it manualy in Defold. Because I have I/O error with icons.

Now I try to add stickers.xcassets to the iap by handa, and then re-sign IPA.
But I recieve an error mail.

Now I found that I should use exportOptionsPlist (I don’t know what is it,just start to investigate what is it and how to use it)

For app signing I am use codesign -f -s …

1 Like

I wasted whole day for trying and nothing (
Application loader upload ipa but then after post processing I receive email from apple with error.

Do you know what is the right way to sign the ipa by hands, pls?
(I am not sure that it is a problem, but i want to try all variants)

exportOptionsPlist - wrong way, it’s just an option for export archive of xcode project using command line.

after 34 builds and attempts to upload those to app store - i give up.
All attempts was fail.
I don’t know how to sign and upload Defold build with stickers to app store.

My algorihm was:

  1. Build game.ipa
  2. Terminal: unzip game.ipa
  3. Terminal: codesign -d --entitlements :- Payload/game.app/
  4. save Entitlements.plist with result of 3
  5. Make xcode project with stickers
  6. Make an archive of the project
  7. export archive for the appstore
  8. extract PlugIns folder with stickers from the ipa (p7)
  9. copy PlugIns forlder to our game.app (p2)
  10. Terminal: codesign -f -s "my cert" --entitlements Entitlements.plist Payload/game.app/
  11. Terminal: zip -qr "game.ipa" Payload

after all that game.ipa was loaded to the store using Application Loader without errors, but after few minutes (postprocessing on the apple server) I recieve an email:

Dear developer,

We have discovered one or more issues with your recent delivery for “Your game name”. 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

If somebody know where is my mistake or can help me with it, would be great.

1 Like

@sven maybe you can help me with my issue?

We’re unfortunately down to a skeleton crew in the Defold team with most people away on vacation. Sven is away on vacation. Mathias is here but he’s probably swamped with work already. Please summarize all the info you have on this and send it to me (Bjorn.ritzl@king.com). Detailed steps of the work involved. What you’ve tried so far. Links to official docs. Any assets I might need. And so on.

I’m on vacation visiting some relatives, but I’ve brought my laptop and I might have some time to spare.

2 Likes

Today was 20 more attempts to upload build that contains stickers. Without positive results.
I hope Apple do not banned me for a frequent uploads =)

@britzl thank you, I sent all what i know and what i have.

1 Like

I tried to create question in StackOverflow https://stackoverflow.com/questions/45188401/trying-to-add-stickers-to-existing-ipa
Pls vote, I hope someone can help me… =(

1 Like

Hey! I know nothing about stickers and very little about xcode and bundling, but I read through your steps and was curious about copying the plugins folder. Are you sure there wasn’t anything in the stickers archive that said something about the plugins? Like in a plist/manifest file. I would expect entries describing the contents of the IPA, e.g. stickers. Maybe there is meta-info you need to bring over to the plist/manifests of the game?

Reasons I can think of for the error message:

  • There was a sticker pack that wasn’t described in manifests
  • The sticker pack is not “complete”, i.e. the plugins folder is not enough

Things I would try to debug the problem:

  • Eliminate signing issues: do the steps except 5 - 9, to make sure that the signing works when stickers are not involved
  • Eliminate Defold issues: Make a new empty ipa in xcode, and try to move the stickers over to that app
3 Likes

Good ideas. I’ll try it. Thank you.