背景音频应用程序在显示锁定屏幕时崩溃

时间:2012-08-16 14:10:56

标签: iphone avaudioplayer background-process nszombie

我有一个播放音频的应用,它使用:

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:nil];

在后台播放音频。

按下设备的唤醒/睡眠按钮 1 可锁定屏幕并关闭显示屏。如果音频播放约8分钟,我按下睡眠/唤醒或主页按钮,应用程序将崩溃。

由于以下几个原因,这很奇怪:

  1. 该应用未被“恢复”,只有正在打开显示屏并显示锁定屏幕。
  2. 调用App委托方法时没有:-applicationWillEnterForeground:-applicationDidBecomeActive:
  3. 该应用不会通过MPNowPlayingInfoCenter
  4. 在锁定屏幕上显示任何艺术作品

    我启用了NSZombies然后我得到了一个:

     *** -[__NSArrayM removeObject:]: message sent to deallocated instance 0x10bf9060
    

    回溯看起来像这样(帮助不大!):

    Backtrace

    控制台输出

    这是崩溃时的控制台输出。

    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   可以通过触摸完成的有用功能。

0 个答案:

没有答案