应用程序在 Apple 崩溃但未在测试中

Posted

技术标签:

【中文标题】应用程序在 Apple 崩溃但未在测试中【英文标题】:App Crashes at Apple but not in test 【发布时间】:2011-06-07 16:42:43 【问题描述】:

我的应用程序已(正确地)被 Apple 拒绝,因为它在您尝试使用离线地图时崩溃。崩溃发生在 route-me 代码库中,因此崩溃日志没有那么有用。在测试中它很好,并且没有崩溃,所以我无法成功地重新创建测试条件。

我在与 Apple 相同版本的 ios (4.3.3) 上运行。我已尝试强制位置代码返回加利福尼亚的位置。

有没有其他人遇到过同样的问题?

【问题讨论】:

【参考方案1】:

当我在让 Apple 端的 App Store 接受但不是我自己的应用程序时遇到问题时,它最终成为我正在使用的外部库的一些构建依赖项。我已将它们设置在我的调试版本中,但不是我的发布版本。由于我没有在 Release 版本上进行测试,因此我从未注意到崩溃。然而,Apple 做到了,因为那是我发给他们的。

【讨论】:

谢谢@josholat。我现在重新创建了错误 - 它在发布版本上。但是,我看不出该版本与我认为会产生影响的其他版本之间有任何区别。我怀疑主项目的发布版本引入了构成 route-me 的两个依赖项目之一的非发布版本。我只是不知道如何解决这个问题。【参考方案2】:

这可能是他们的问题。

这发生在我身上(iPhone Crash with "No Backtrace")。我重新提交,没有任何更改,我的应用程序被批准了。几个月后,我再也没有重现或听到过任何一次崩溃的投诉。

我建议重新提交相同的二进制文件。在等待批准时,请尝试重新运行干净的构建,从您的设备中删除并重新安装应用程序,并在您之前未部署到的“干净”设备上进行临时测试,以尝试重现崩溃。

【讨论】:

【参考方案3】:

我对 Apple 也有同样的问题。当我在 iPhone 模拟器、iPhone 或 iPad 上使用离线地图运行我的应用程序时,我没有遇到任何问题。但是使用 Instrument,当我将 MapView 的委托设置为 ViewController 时,应用程序崩溃了。

修复的方法很简单: 在[mapView setDelegate:self]; 之前有代码[RMMapView class];

如果我没记错的话,编译器找不到 .xib 文件。抱歉,我不记得我为什么要这样做了,但它确实有效。

【讨论】:

以上是关于应用程序在 Apple 崩溃但未在测试中的主要内容,如果未能解决你的问题,请参考以下文章

iOS 应用程序在发布时崩溃但未在开发中,Swift 符号未解决

使用邮递员返回错误请求,但未在单元测试 Spring Boot 中返回

“System.OutOfMemoryException”类型的异常在 mscorlib.dll 中发生,但未在用户代码中进行处理

使用 Firebase 的 Android 聊天应用程序,但未在 firebase 中存储数据

获取 Websocket 错误但未在代码中使用 Websocket

通过 XCode 上传的 iOS 应用程序但未在 iTunes Connect 中显示