I have an ipa that i build in Defold engine (same situation with Adobe AIR builds). I have no xcode project, only ipa. I can upoad this build to the app store using Application Loader without any problems.
But I need to add stickers to my application ipa.
What I try to do:
- Terminal:
unzip game.ipa
- Terminal:
codesign -d --entitlements :- Payload/game.app/
- Save Entitlements.plist with result of p.2
- I made xcode project with stickers (I experements with 2 project one as stickers pack, and other as game app + stickers target)
Stickers app should use the same certificate, Id of stickers app should be the same like id of the main app + one word with dot, for example: main app is com.mygame stickers is com.mygame.stickers (it should be only one dot after main id)
- I made an archive of sticker project
- Export archive for the appstore
Then I extracted PlugIns folder with stickers (in this folder I have my stickers.appex) from the ipa (p6)
I made a copy PlugIns forlder to my game.app (p2)
- Terminal:
codesign -f -s "my cert" --entitlements Entitlements.plist Payload/game.app/
- Terminal:
zip -qr "game_with_stickers.ipa” Payload
Then, if I try to upload my result ipa to the App Store using Application loader. Loader doesn’t show me any errors, but then, after post-processing on store I receive a message:
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.
Original ipa with stickers (ater xcode p.6) has MessagesApplicationExtensionSupport folder near "Payload" folder, when I try to add this folder to my ipa, I receive email from Apple:
Invalid Messages Application Support - The files MessagesApplicationExtensionStub don’t match YourGame.app/PlugIns/Stickers.appex/MessagesApplicationExtensionStub. Make sure the files are correct, rebuild your app, and resubmit it. Don’t apply post-processing to YourGame.app/PlugIns/Stickers.appex/MessagesApplicationExtensionStub.
When I made all this steps with dev-provisioning - it's works on my device without any problems.
Hope somebody can help me to find right way to upload build to the App Strore
UPD, ANSWER: I change next parameters in plist to parameters like in stickers app:
<key>BuildMachineOSBuild</key>
<string>16F73</string>
<key>DTPlatformBuild</key>
<string>14E8301</string>
<key>DTPlatformVersion</key>
<string>10.3</string>
<key>DTSDKBuild</key>
<string>14E8301</string>
<key>DTSDKName</key>
<string>iphoneos10.3</string>
<key>DTXcode</key>
<string>0833</string>
<key>DTXcodeBuild</key>
<string>8E3004b</string>
Minimum ios version should be :
<key>MinimumOSVersion</key>
<string>10.0</string>
And I added next key to solve issue with UI components for ipad pro with multitasking:
<key>UIRequiresFullScreen</key>
<true/>
I am not sure that I have to change all this parameters (maybe I need to change just one or two. I hope my hack by hands of this parameters did not affect on the build.