我的 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 后的样子:
在我提交应用程序之前,如何确保应用程序能够与分发配置文件一起正常工作?
Best Answer-推荐答案 strong>
回答我自己,这可能有助于其他人知道,尽管这个构建在任何设备上都崩溃了,但它在几个小时前得到了 Apple 的批准。
因此,如果您遇到此处描述的相同问题,请最后一次检查所有内容,您的构建将崩溃,但它可以得到 Apple 的批准。
可惜的是,使用 Libgdx Robovm,使用 XCode 来检查配置文件和证书要么是不可能的,要么是非常困难的,所以你基本上必须相信一个飞跃......
希望对你有帮助
关于由于分发配置文件,iOS 应用程序在启动时崩溃? (libgdx + robovm),我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/28682290/
|