应用程序在 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 中存储数据