iOS应用由于发布配置文件而在启动时崩溃? (libgdx + robovm) [英] iOS app crashes at launch because of distribution profile? (libgdx + robovm)

查看:97
本文介绍了iOS应用由于发布配置文件而在启动时崩溃? (libgdx + robovm)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的iOS应用被拒绝两次提交,原因是相同的:启动时崩溃.给定日志,我猜它来自我的配置文件和签名身份. 我在带有RoboVM beta 4和Eclipse的Libgdx 1.5.x中使用

My iOS app was rejected twice for submission for the same reason: crash at start. Given the logs I guess it comes from my provisioning profiles and sign identity. I am using Libgdx 1.5.x with RoboVM beta 4, with Eclipse

当我构建没有配置文件的应用程序时,它可以在任何模拟器上构建并正常运行. 通过开发人员资料,该应用程序可以在我的测试设备上构建并正常运行. 一切正常,直到将iosSignIdentity和iosProvisioningProfile设置为分发,否则出现以下错误:

When I build the app with no profile, it builds and runs fine on any simulator. With a developer profile, the app builds and runs fine on my test device. Everything is fine until I set iosSignIdentity and iosProvisioningProfile to distribution, there I am having the following error:

使用以下命令从控制台进行构建:

Building from console with the following command:

./gradlew -Probovm.device.name=<my device name> launchIOSDevice --stacktrace

我遇到错误:

org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':ios:launchIOSDevice'.
...
Caused by: org.robovm.libimobiledevice.LibIMobileDeviceException: ApplicationVerificationFailed
at org.robovm.libimobiledevice.util.AppLauncher$1.error(AppLauncher.java:1001)
at org.robovm.libimobiledevice.Callbacks.callInstproxyCallback(Callbacks.java:64)

我设备上的日志(取自Xcode)是:

The log from my device (taken from Xcode) is:

<Error>: profile not valid: 0xe8008012
<Error>: 0x1e3000 install_embedded_profile: Could not install embedded profile: 0xe8008012
<Error>: 0x1e3000 verify_signer_identity: MISValidateSignatureAndCopyInfo failed for /var/tmp/install_staging.6O8w3D/IOSLauncher.app/IOSLauncher: 0xe8008015

这是我创建的用于分发的配置文件,它已链接到我的分发证书和我的应用程序:

Here is the provisioning profile I have created for distribution, it is linked to my Ditribution certificate and my app:

在我的build.gradle中,我设置了这样的身份和配置文件:

in my build.gradle I have set identity and profile like this:

    robovm {
iosSignIdentity = "iPhone Distribution: <my name> (PK79UD6TA3)"
iosProvisioningProfile = "DistribKM"
iosSkipSigning = false
stdoutFifo = null
stderrFifo = null
}

}

我从以下命令行获取iosSignIdentity:

I am taking the iosSignIdentity from this command line:

这是我迷路的地方.我可以使用

And this is where I am lost. I can build the app with

./gradlew -Probovm.ipaArchs=thumbv7:arm64 build createIPA

构建将成功.但是我几乎可以确定,如果我上传并提交此版本以进行修订,Apple将第三次拒绝它,原因与前两个原因相同:应用程序在启动时崩溃".

The build will be succesfull. But I am almost sure that if I upload and submit this build for revision, Apple will reject it for the 3rd time for same reason as the 2 previous ones: "app crashes at start".

这是上传到iTunes Connect后的样子:

Here is what it looks like once uploaded to iTunes Connect:

在提交应用程序之前,如何确保该应用程序可以与分发配置文件正常使用?

How can I make sure the app will work properly with the distribution profile before I submit it?

推荐答案

对我自己来说,这可能会帮助其他人知道,尽管此版本在任何设备上都崩溃了,但它已在两个小时前被Apple批准. 因此,如果您遇到此处描述的相同问题,请上次对所有内容进行三遍检查,您的构建将崩溃,但可以被Apple批准. 有了Libgdx Robovm,使用XCode来检查供应配置文件和证书要么是不可能的,要么是非常困难的,这是很可惜的,因此,您基本上必须进行一次信念上的飞跃... 希望对您有帮助

Answering to myself, it might help others to know that despite this build crashing on any device, it was approved by Apple a couple of hours ago. So if you have the same problems described here, triple check everything one last time, your build will crash but it can be approved by Apple. It is just a pitty that with Libgdx Robovm, it is either impossible or very difficult to use XCode to check provisioning profiles and certificates, so you basically have to take a leap of faith... Hope it helps

这篇关于iOS应用由于发布配置文件而在启动时崩溃? (libgdx + robovm)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆