iphone - 苹果拒绝了我,不知道为什么,也不知道如何解决

标签 iphone logging crash

故事是这样的,Apple 最近拒绝了我的应用程序,称它在他们的手机(iPhone 3G 和 iPod touch 2g)上崩溃了,并向我发送了两个崩溃日志。我都无法理解。

他们在这里。

 Incident Identifier: BA4382DD-DA6A-47F7-800D-43AD30919064
 CrashReporter Key:   53e41ca2a52f91affddc86f49ce9c4be851fcfd6
 OS Version:          iPhone OS 3.1.2 (7D11)
 Date:                2010-01-14 15:59:57 -0800

Free pages:        317
Wired pages:       11274
Purgeable pages:   0
Largest process:   iConicCars

Processes
         Name                 UUID                    Count resident pages
       amfid <b4f3e5a61456edf85b6ada59064ec311>      93
  iConicCars <851d264eb074e465891dcd67b67a8e79>    5928 (jettisoned) (active)
  MobileMail <0798395dde43ca46317db6e674dfbbfd>     503 (jettisoned)
 MobilePhone <82c9bd8583f4b09706a16b08e641a4b9>     464 (jettisoned)
     notifyd <d6b12a4e424e10e5ce91efd8d39f22af>      77
    BTServer <c940c4c7252113a7303cc1f7d1429c17>     253
  CommCenter <b1d6c4fe3ce2bc0374471196ab15b8d4>     313
 SpringBoard <c5c29b56a2bb445fc73203e03f67fa78>    1954 (active)
  accessoryd <32ceed5c3c32625ac23cd870f61364af>     107
     configd <aae411e8289912124271f109ceee8f85>     290
   fairplayd <cdce5393153c3d69d23c05de1d492bd4>     156
   mDNSResponder <db98efaea94329959789f73a16f9f46e>     123
mediaserverd <612fbbfa0546609cf6c6b13ae6f333cf>     767 (jettisoned)
   lockdownd <171865bfe3725c3d5047df8c00ed5d77>     294
     syslogd <1cb3e9f2375fad9e345bd16655be4a50>      66 (jettisoned)
     launchd <c5bc115d47313218505394f96770782a>      76

**End**

Incident Identifier: 8E52889B-0260-4AAD-A39C-FC170FB637D4
CrashReporter Key:   45d118e8a4be9b3163eab905af870f05dfddb12d
OS Version:          iPhone OS 3.1.2 (7D11)
Date:                2010-01-14 13:41:31 -0800

Free pages:        309
Wired pages:       12550
Purgeable pages:   0
Largest process:   iConicCars

Processes
         Name                 UUID                    Count resident pages
      iConicCars <851d264eb074e465891dcd67b67a8e79>    5641 (jettisoned) (active)
       SCHelper <b87bd080a670f9512426e8721dc1f03c>     103
            misd <a41e5d5f4b8922ab272c55df84aec4fd>     140
    installd <620ede129454bcd824f0b6cec13b15d3>     212
 SpringBoard <c5c29b56a2bb445fc73203e03f67fa78>    1545 (jettisoned) (active)
        iapd <fea164e93479b90e1dd39a293dd3865c>     251 (jettisoned)
     syslogd <1cb3e9f2375fad9e345bd16655be4a50>      83 (jettisoned)
mediaserverd <612fbbfa0546609cf6c6b13ae6f333cf>     302 (jettisoned)
    BTServer <c940c4c7252113a7303cc1f7d1429c17>     345
   lockdownd <171865bfe3725c3d5047df8c00ed5d77>     279
     notifyd <d6b12a4e424e10e5ce91efd8d39f22af>     104
  CommCenter <b1d6c4fe3ce2bc0374471196ab15b8d4>     151
     configd <aae411e8289912124271f109ceee8f85>     264
   fairplayd <cdce5393153c3d69d23c05de1d492bd4>     517
   mDNSResponder <db98efaea94329959789f73a16f9f46e>     100
     launchd <c5bc115d47313218505394f96770782a>      67

**End**

他们说即使重启后也没有什么区别。 更棒的是,它在我的 iPhone 3GS 和模拟器中完美运行,没有内存泄漏。

那么,我到底该怎么办?

更新:

在模拟器中登录 [ session 开始于 2010-01-16 20:01:44 +1300。] GNU gdb 6.3.50-20050815(Apple 版本 gdb-1346)(UTC 2009 年 9 月 18 日星期五 20:40:51) 版权所有 2004 自由软件基金会,Inc. GDB 是免费软件,受 GNU 通用公共(public)许可证保护,您可以 欢迎在某些条件下对其进行更改和/或分发其副本。 输入“显示复制”以查看条件。 GDB绝对没有任何保证。输入“显示保修”以了解详细信息。 该 GDB 被配置为“x86_64-apple-darwin”。sharedlibrary apply-load-rules all 附加到进程 1152。 dyld:无法加载插入的库:/usr/lib/libgmalloc.dylib

数据格式化程序暂时不可用,将在“继续”后重试。 (目前无法调用加载程序,它已被锁定。) 警告:找不到“_sigtramp”的最小符号 - 回溯可能不可靠 无法访问地址 0x0 处的内存 无法访问地址 0x0 处的内存 (gdb)

最佳答案

正如其他人所说,您使用了太多内存。

如果您使用多个 View Controller 页面,请尝试这个简单的测试 - 使用 ObjectAlloc Instrument 运行您的应用程序。单击某项以调出 subview ,您应该会看到内存增加 - 现在关闭该 View 并返回到主视图,内存应该会下降。如果没有,那就是你的问题(或者无论如何,这是其中之一,但这是一个可能的起点)。

要尝试跟踪此问题,请在每个 View Controller 的 dealloc 中放置断点,然后查看实际调用的内容。对于没有像您期望的那样释放的 View Controller ,在 ObjectAlloc 中,您可以查看针对对象发出的每个保留的位置,并决定在不应该这样做时保留该对象的内容。

一般来说,ObjectAlloc 流程应该看起来像一个一直上升和下降的图表,而不是不断上升。

此外,如果您使用大量图像,请考虑将它们重新调整为您需要的确切尺寸,而不是从更大的尺寸和缩放开始。使用这么多内存一定是由于使用图像而不释放它们。如果您仍然有对保留的内存的引用,则泄漏不会报告任何内容。

此外,购买旧的 Touch 进​​行测试。

关于iphone - 苹果拒绝了我,不知道为什么,也不知道如何解决,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2076276/

相关文章:

iphone - iOS 数据存储指南。在这种情况下我该怎么办?

logging - GNU screen 上的 screen 日志和硬拷贝之间的差异

ruby - 如何修补 RequestId 中间件或为什么 Heroku 不使用标准的 HTTP_X_REQUEST_ID?

xcode - 运行项目时Xcode5.0.2崩溃

android - RuntimeException 在 Android 中导致 ANR 而不是崩溃

ios - 如何快速随机化 button.setTitle?

iphone - 如何使用搜索栏实现基于单个字母的搜索?

java - 如何在 3.4+ 中禁用 JooQ 的 self 广告信息?

java - Android:应用程序在启动时崩溃

iphone - iOS:提示用户调用电话