iOS 4.3.2用户报告应用程序在启动时崩溃

时间:2011-05-08 17:18:34

标签: ios iphone

我的应用程序更新刚刚获得Apple批准,用户现在正在抱怨应用程序不再启动。它也适用于一些新用户。

我完全不知道问题出在哪里,也无法重现问题。在提交更新之前,我已在各种设备(&模拟器)上测试了更新:运行3.1.3的iPhone 2G,运行4.3的iPod Touch 2G,运行4.3.1的iPhone 3G和iPhone 4。他们都按预期工作。此更新有一些新功能,例如使用AssetsLibrary框架从用户的照片库中随机挑选照片,我将框架弱连接以支持iOS 3,并且该功能在用户选择之前不会加载,因此它不应该是问题。毕竟,此更新已经过Apple的测试和批准。

我很难收集有问题的用户的崩溃信息,但我知道其中一个使用iPhone 4和iOS 4.3.2。快速谷歌搜索显示iOS 4.3.2在启动第三方应用程序时遇到问题,我怀疑我的问题与此有关,但我无法确认。我计划将我的开发iPhone 4降级到iOS 4.3.2进行测试。

这里有人遇到过类似的问题吗?由于负面评论,我的应用排名显着下降,所以我需要尽快解决这个问题。

修改

  • 不应该有看门狗问题,我测试了上述设备的更新,有或没有Xcode /调试器。

  • 内存管理。我无法重现问题(我努力了)所以我无法确认它是否是EXC_BAD_ACCESS,我确实检查了引用计数和nil发布的对象(安全释放),如果适用的话,我绝对不是内存管理方面的专业人员所以我接受它严肃地说,我用仪器检查了泄漏和分配,进行了压力测试并进行了记忆预警模拟,没有发现任何问题。

  • 我在UIApplicationWillEnterForegroundNotification中有-loadview,它仅在iOS 4.0之后可用,所以我检查它是否与&运算符一起使用,因为我使用它。

  • 除了在NSUserDefaults中保存facebook连接令牌和失效日期(NSDate)之外,我不会保留数据,因为问题也发生在新用户上,所以我认为这是其他的

1 个答案:

答案 0 :(得分:0)

不幸的是,我们需要更多信息。但就在我的头顶:

  • Watch dog?你启动你的应用程序时加载了什么样的东西?可能是资源受限于具有此问题的设备,并且您正在进行应该在单独的线程中完成的工作,或者在应用程序启动之后延迟工作。

  • EXC_BAD_ACCESS。可能存在竞争条件,导致大多数人能够正常启动,但对于某些人而言,由于不良引用而无法正常工作。我知道,你编写好的代码并像专业人士一样管理你的参考资料,但有时候一个非显而易见的漏洞可能会蔓延。

  • 您是否安全地实例化了某些类型的类?咬我一次的例子是MFMailComposeViewController类。在实例化之前,您应该调用其静态方法canSendMail。如果用户没有在他们的设备上设置任何邮件帐户(很难想象会有适合这种情况的人,但是嘿!在更新后发现有很多人!)然后应用程序会崩溃。

  • 您有哪些数据持久性(如果有)?您使用的是Core Data吗? plist中的序列化对象? NSUserDefaults的?您的策略可能会破坏您持久存在的数据并导致崩溃。