我的 iOS 应用程序因相同的原因提交两次被拒绝:启动时崩溃。鉴于日志,我猜它来 self 的配置文件和签名身份。 我将 Libgdx 1.5.x 与 RoboVM beta 4 和 Eclipse 一起使用
当我构建没有配置文件的应用程序时,它可以在任何模拟器上正常构建和运行。 有了开发者资料,该应用程序可以在我的测试设备上正常构建和运行。 一切都很好,直到我将 iosSignIdentity 和 iosProvisioningProfile 设置为分发,但出现以下错误:
使用以下命令从控制台构建:
./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)是:
<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
这是我为分发创建的配置文件,它链接到我的分发证书和我的应用程序:
在我的 build.gradle 中,我设置了如下身份和配置文件:
robovm {
iosSignIdentity = "iPhone Distribution: <my name> (PK79UD6TA3)"
iosProvisioningProfile = "DistribKM"
iosSkipSigning = false
stdoutFifo = null
stderrFifo = null
}
我正在从这个命令行获取 iosSignIdentity:
这就是我迷路的地方。我可以使用
构建应用程序./gradlew -Probovm.ipaArchs=thumbv7:arm64 build createIPA
编译成功。但我几乎可以肯定,如果我上传并提交此版本以供修改,Apple 将第三次拒绝它,原因与前两次相同:“应用程序在启动时崩溃”。
这是上传到 iTunes Connect 后的样子:
在提交应用程序之前,我如何确保该应用程序能够与分发配置文件一起正常工作?
最佳答案
回答我自己,这可能会帮助其他人知道,尽管这个构建在任何设备上都会崩溃,但它在几个小时前就被 Apple 批准了。 因此,如果您遇到此处描述的相同问题,请最后一次对所有内容进行三次检查,您的构建将会崩溃,但它可以得到 Apple 的批准。 遗憾的是,使用 Libgdx Robovm,使用 XCode 来检查供应配置文件和证书要么是不可能的,要么是非常困难的,所以你基本上必须采取信心的飞跃...... 希望对你有帮助
关于由于分发配置文件,iOS 应用程序在启动时崩溃? (libgdx + robovm),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28682290/