iOS应用程序在激活之前会停留几分钟

时间:2012-03-20 09:57:43

标签: ios

我有一个应用程序通过执行暂停/取消暂停BG音乐等操作来处理applicationWillResignActive和applicationDidBecomeActive通知。

我遇到了一个奇怪的错误,其中每3-4次变为非活动状态并返回(例如锁定/解锁设备),该应用程序似乎完全停留了几分钟 - 意思是,我看到了我应该看到的景象,但我无法触摸任何东西,音乐也没有播放。

我调试了它,似乎appDidBecomeActive通知不会被调用。

我查看了我的应用程序的日志,并且在应用程序似乎卡住的整个时间内没有看到任何内容。

唯一有趣的是,在设备的控制台中,我可以看到这条线在我解锁设备并注意到卡住的应用程序后大约10秒钟出现。

Mar 20 11:51:13 unknown MobileStorageMounter[4882] <Notice>: (0x3f4d948c) idle_timer_callback: Exiting after idle timeout

不确定它是否相关。

有人有类似的问题吗?

2 个答案:

答案 0 :(得分:1)

可能是对TestFlight的调用超时,并且在超时之前,应用程序锁定主线程,冻结接口,直到请求被处理或超时。如果在系统将应用程序推入非活动状态之前请求未能完成,则可能发生这种情况,这意味着当它返回活动状态时,它仍然会尝试侦听对它永远不会收到的请求的响应,因此超时。 Flurry Analytics(至少是我使用的SDK的旧版本)也会出现同样的情况,当我调用自己的自制API时,它们也会发生在我身上,并且API响应会延迟一两秒。

答案 1 :(得分:0)

原来这是TestFlight SDK中的一个错误,从0.8.2升级到0.8.3并且问题解决了