1

我向应用商店提交了一个应用,但由于以下原因被拒绝:

“我们发现您的应用在运行 iOS 6.1.2 的 iPhone 5 上崩溃,这不符合 App Store 审查指南。

当我们执行以下操作时,您的应用程序崩溃了:

当用户点击登录应用程序时,会产生崩溃。

这发生在使用您的应用程序时:

  • 在无线网络上
  • 在蜂窝网络上

如果您的应用使用太多内存,它可能会遇到此问题。要了解有关 iOS 内存使用以及如何跟踪内存使用和泄漏的更多信息,请参阅内存使用性能指南。”

我无法再次触发我这边的崩溃。我使用分配工具分析了我的应用程序,发现我的实时字节从未超过 12MB。使用泄漏工具,我发现我有一些泄漏(都在第 3 方来源中),但它们非常轻微,不应该导致应用程序崩溃。我不知道该怎么做。

  1. 应用程序真的因为使用了太多内存而崩溃了吗?
  2. 会不会有别的原因?
  3. 我应该如何解决这个问题并解决问题?

编辑 - 附加崩溃日志

查看this & that,似乎使用 ASIHTTPRequest 框架会导致崩溃,但仅限于 ad-hoc 或分发版本,这使得调试它更加令人头疼。真的是原因吗?我应该改用 AFNetworking 吗?

4

2 回答 2

3

是的,您应该切换到 AFNetworking,因为不再支持 ASIHTTPRequest。

要调试此问题,请尝试将优化级别设置为Fastest, Smalles [-Os]。这通常是调试和发布代码行为不同的原因。

于 2013-03-11T10:50:46.960 回答
1

应用程序真的因为使用了太多内存而崩溃了吗?

没有您的应用程序因访问错误而崩溃。通常这意味着您试图访问已释放的对象。

我应该如何解决这个问题并解决问题?

崩溃发生在 Server.m 的第 132 行(方法:registerWithUserProvider:)。你应该看看这个方法。也许一个简单的 nil 检查可以解决您的问题,但没有代码就很难说。

于 2013-03-11T11:10:14.087 回答