我有一个我在Defold引擎中构建的ipa(与Adobe AIR版本相同的情况)。我没有xcode项目,只有ipa。 我可以使用Application Loader将此版本添加到应用商店,没有任何问题。
但我需要在我的应用程序ipa中添加贴纸。
我尝试做什么:
解压游戏.ipa
codesign -d --entitlements: - Payload / game.app /
贴纸应用应使用相同的证书, 贴纸应用程序的ID应该与主应用程序的ID +带点的一个单词相同,例如: 主应用程序是com.mygame 贴纸是com.mygame.stickers(主ID之后应该只有一个点)
然后我从ipa(p6)中提取了带有贴纸的插件文件夹(在此文件夹中我有我的stickers.appex)
我将一个插件forlder复制到我的game.app(p2)
代码-f -s"我的证书" --entitlements Entitlements.plist Payload / game.app /
zip -qr" game_with_stickers.ipa“Payload
然后,如果我尝试使用Application loader将我的结果ipa上传到App Store。 Loader没有向我显示任何错误,但是,在商店进行后处理后,我收到一条消息:
无效的iMessage应用程序 - 您的iMessage应用程序包含无效的贴纸 包。该应用程序可能已构建或签署不符合要求或 预发布工具。有关更多信息,请访问developer.apple.com。
带贴纸的原始ipa(ater xcode p.6)的MessagesApplicationExtensionSupport文件夹附近有" Payload"文件夹,当我尝试将此文件夹添加到我的ipa时,我收到来自Apple的电子邮件:
无效消息应用程序支持 - 文件 MessagesApplicationExtensionStub不匹配 YourGame.app/PlugIns/Stickers.appex/MessagesApplicationExtensionStub。 确保文件正确无误,重建您的应用程序,然后重新提交。 不要对后处理进行处理 YourGame.app/PlugIns/Stickers.appex/MessagesApplicationExtensionStub。
当我使用开发配置完成所有这些步骤时 - 它可以在我的设备上正常运行。
希望有人可以帮我找到将构建上传到App Strore的正确方法
UPD,ANSWER: 我将plist中的下一个参数更改为贴纸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>
最低ios版本应为:
<key>MinimumOSVersion</key>
<string>10.0</string>
我添加了下一个密钥来解决ipad pro的UI组件问题:多任务处理:
<key>UIRequiresFullScreen</key>
<true/>
我不确定我是否必须更改所有这些参数(也许我需要更改一两个。 我希望我手中的这些参数不会影响构建。