Ios 由于不可复制的错误,应用被拒绝:可能的原因?

Ios 由于不可复制的错误,应用被拒绝:可能的原因?,ios,ipad,appstore-approval,Ios,Ipad,Appstore Approval,我们的一个应用程序最近第二次被拒绝,因为“我们发现你的应用程序无法在运行iOS 6.0.1的iPad上启动,无论是在Wi-Fi网络还是手机网络上” Apple提供的崩溃日志以以下内容开头: 事件标识符:CE8868A8-1C68-4161-91AD-DB50D3D5780B CrashReporter密钥:83B816533EAD8666681B87F5736242D8AAC2FF 硬件型号:xxx 过程:测试滑雪板[29192] 路径:/var/mobile/Applications/890E

我们的一个应用程序最近第二次被拒绝,因为“我们发现你的应用程序无法在运行iOS 6.0.1的iPad上启动,无论是在Wi-Fi网络还是手机网络上”

Apple提供的崩溃日志以以下内容开头:

事件标识符:CE8868A8-1C68-4161-91AD-DB50D3D5780B
CrashReporter密钥:83B816533EAD8666681B87F5736242D8AAC2FF
硬件型号:xxx
过程:测试滑雪板[29192]
路径:/var/mobile/Applications/890E8D9C-6A17-4EA6-9A06-5503B3D35888/Test Skis.app/Test Skis 标识符:测试滑雪板
版本:???(?)
代码类型:ARM(本机)
父进程:已启动[1]

日期/时间:2013-01-04 19:24:52.667-0800
操作系统版本:iOS 6.0.1(10A523)
报告版本:104

异常类型:EXC_崩溃(SIGABRT)
异常代码:0x0000000000,0x0000000000000000
崩溃线程:0

我的问题不是如何在我们的特定代码中解决这个问题,而是一个更一般的问题:我们无法使用与苹果所使用的相同的二进制文件(制作临时版本)、设备和操作系统版本来重现崩溃

这样的崩溃怎么可能发生在Apple reviewer的设备上,而不是我们的设备上?苹果评论员的设备是否以非标准方式配置,可以解释这种差异


我发现关于堆栈溢出的另一个问题提到了一个类似的问题,但也没有得到回答:

看起来您正在尝试实例化一个nib(名称未知,因为崩溃报告中缺少异常原因),但它不存在。确保应用程序所需的所有NIB实际上都是您发送给苹果的版本的一部分。

我猜您的临时版本配置在某种程度上与您的发布/分发配置不相同。

我也遇到了同样的问题,苹果给我发送了一份崩溃报告供我查看。我学会了如何将它们符号化,但我的应用程序中的相关代码行不会符号化。所以我试着做了一些其他的修改并重新提交,结果还是被拒绝了


最后,我要求他们发送更多细节,因为我用两台设备和模拟器进行了测试。今天我看到他们“开发商退出销售”,然后“准备出售”。所以我想我的应用程序很好用,我这边没有任何改变。

撞车报告最重要的部分丢失了,那就是你发布的内容下面的所有文本。没有这一点,没有人能悲伤地告诉你可能是什么问题。请附上并确保它是符号化的。@Kerni:完整的符号化崩溃报告可在上找到。然而,我想了解的是,我们的设备怎么可能不会崩溃,而Apple reviewer的设备却会崩溃。另外一点信息:苹果也会在飞行模式下测试应用程序(或者准确地说是在没有互联网连接的情况下),这可能是导致崩溃的原因。这通常是正确的,但当我阅读事故报告时,显然与此无关。我也遇到了类似的问题,应用程序在我的测试设备和模拟器上运行良好,并与苹果公司发生了碰撞。事实证明,这与“优化级别”有关。请查看构建设置,将调试设置为最快、最小,然后查看是否可以复制。如果nib丢失,任何临时构建也会崩溃,不是吗?可能会,也可能不会。可能存在一个构建问题,可能这只发生在特定的设备类型上,例如iPad。从我们的角度来看,没有足够的信息可以知道这一点。你为什么不把appstore二进制文件打开,检查一下你需要的所有NIB是否都在里面?另外,由于iOS设备上的文件名区分大小写,请确保文件名完全正确。
硬件型号:
字符串可能会有所帮助,但您的报告中显示了
xxx
,因此我们无法提供任何帮助。崩溃报告非常清楚。我还注意到苹果发送的崩溃报告中没有指定
硬件型号
,当我问“苹果评论员的设备是否以非标准方式配置以解释差异?”时,我就想到了这一点。标准设备的故障报告中总是指定硬件型号,不是吗?我一直在考虑这个可能的解释,即nib名称是使用以下代码指定的:
switch(UIDevice.currentDevice.userInterfaceIdiom).
如果这样做,问题是哪些设备类型没有测试,哪些类型有不同的nib。可能是一个开始:)@Kerni:-我刚刚检查了二进制文件,找到了所需的NIB-关于设备类型,
开关(UIDevice.currentDevice.userInterfaceIdiom)
只区分iPad和iPhone。就像我写的,苹果提到他们使用iPad进行测试。我们在iPad1、iPad2和iPad3上进行了测试,但无法再现崩溃。