我有一个播放音频的应用,它使用:
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];
在后台播放音频。
按下设备的唤醒/睡眠按钮 1 可锁定屏幕并关闭显示屏。如果音频播放约8分钟,我按下睡眠/唤醒或主页按钮,应用程序将崩溃。
由于以下几个原因,这很奇怪:
-applicationWillEnterForeground:
,-applicationDidBecomeActive:
MPNowPlayingInfoCenter
我启用了NSZombies然后我得到了一个:
*** -[__NSArrayM removeObject:]: message sent to deallocated instance 0x10bf9060
回溯看起来像这样(帮助不大!):
这是崩溃时的控制台输出。
Aug 29 11:37:30 unknown SpringBoard[51] <Notice>: Posting 'com.apple.iokit.hid.displayStatus' notifyState=1
Aug 29 11:37:30 unknown UserEventAgent[12] <Warning>: DEBUG: Changing screen blanked state: 0
Aug 29 11:37:30 unknown SpringBoard[51] <Notice>: MultitouchHID: detection mode: 255->0 (deferring until bootloaded)
Aug 29 11:37:30 unknown SpringBoard[51] <Notice>: MultitouchHID: device bootloaded
Aug 29 11:37:30 unknown SpringBoard[51] <Notice>: MultitouchHID: detection mode: 0->0
Aug 29 11:37:30 unknown myapp[19495] <Error>: *** -[__NSArrayM removeObject:]: message sent to deallocated instance 0x12158bc0
Aug 29 11:37:38 unknown SpringBoard[51] <Notice>: Posting 'com.apple.iokit.hid.displayStatus' notifyState=0
Aug 29 11:37:38 unknown SpringBoard[51] <Notice>: MultitouchHID: detection mode: 0->255
Aug 29 11:37:38 unknown UserEventAgent[12] <Warning>: DEBUG: Changing screen blanked state: 1
Aug 29 11:37:49 unknown kernel[0] <Debug>: AppleSerialMultiplexer: mux-ad(eng)::dormancySetIntervalGated: Setting dormancy interval to 0 ms with mask 0
有关如何追踪问题的任何建议?看起来在显示锁定屏幕时会有一些系统级别的调用被发送到应用程序,但我不知道它们是如何触发-removeObject
调用或者谁拥有此对象?
1。在iPhone顶部的右侧坐着唤醒/睡眠 按钮。它是一个薄而不显眼的按钮。这需要相当多的时间 压力激活它。结合不引人注目的结果 意外激活的可能性较小。它还提供良好的触觉 反馈。唤醒/睡眠按钮有两个主要目的,放置 iPhone立即进入睡眠模式并从睡眠模式唤醒。您可以 也按两次将来电直接发送到语音邮件,a 可以通过触摸完成的有用功能。