2

我有一个(旧)音频应用程序在 iOS 5.1.1 上行为不端。它录制音频,并且在较旧的 iOS 版本上(不确切知道“中断”在哪里),它会在录制时保持“在前台”,没有任何轻推。

但是在 5.1.1 上,应用程序在两分钟后进入后台,然后事情就变糟了。目前(将不得不改变这一点,我想)应用程序在后台运行时会终止录制(并且它似乎成功地做到了这一点),但它仍然在上述例程中因陷阱而死。

不幸的是,发生这种情况时调用堆栈是空的,因此几乎没有关于为什么应用程序被杀死的线索,但我收集(仅从网络上的提示)发生陷阱是因为后台应用程序无法使用任何 UI 设施,并且该应用程序必须以某种方式调用 UI-ish。但我不知道它可能是什么。

我已经处理了大多数通知,以查看通知是否可能潜伏在某处的队列中并做某事,但到目前为止我还没有发现任何可能触发 UI opp 的东西。

关于如何追踪这一点的任何想法?

4

1 回答 1

2

啊哈!!该应用程序使用称为 AQLevelMeter 的 Apple freebee 小部件。当记录停止时,电平表也会停止,但 AQLevelMeter.mm 中的停止代码不会使驱动 UI 更新的计时器失效。

于 2013-02-01T19:29:58.443 回答