我的应用程序使用音频会话和音频单元。它们的初始化是在 didFinishLaunchingWithOptions: 的主线程中完成的,并且通常运行良好。
但是,如果在应用程序启动后立即暂停设备(锁定屏幕),我们会因为在初始化序列期间设置某些 CoreAudio 会话或音频单元属性失败而导致崩溃。
如何处理这种情况?
编辑:OSStatus
只要从设置属性返回不是
,“崩溃”就是自定义断言noErr
。所以从技术上讲,这不是崩溃。似乎AudioSessionSetActive()
在上述情况下经常失败。但是当我断言(result == noErr)时在那里设置断点时,断点不能被击中。
我的问题是:如果此时发出暂停,这种失败是设计使然吗?