测试飞行应用程序因 libAVFAudio.dylib 崩溃:AVAE_RaiseException(NSString*, ...) + 60

Posted

技术标签:

【中文标题】测试飞行应用程序因 libAVFAudio.dylib 崩溃:AVAE_RaiseException(NSString*, ...) + 60【英文标题】:Test flight app crashes with libAVFAudio.dylib: AVAE_RaiseException(NSString*, ...) + 60 【发布时间】:2016-01-31 16:03:15 【问题描述】:

我在应用商店上传了一个存档,当我尝试播放介绍声音时出现崩溃。我正在使用AVAudioEngine 播放声音。当我通过 Xcode 编译和运行代码时,一切正常。当我在 TestFlight 上上传并尝试以内部测试员身份运行我的应用程序时,我的应用程序崩溃了。崩溃报告是:

如果我使用AVAudioPlayer 来播放那个声音就可以了。我不明白AVAudioEngine 有什么问题。有什么建议吗?

【问题讨论】:

我也有同样的问题...谁能建议? 任何更新,我面临同样的问题? 我从来没有找到解决方案...我改用了 AVAudioPlayer。 【参考方案1】:

我只在我的应用程序的发布版本中遇到了同样的异常,并且特定于 iPhone7。 异常似乎发生在音频会话类别的变化点。 就我而言,从

AVAudiosessionCategorySoloAmbient

AVAudioSessionCategoryPlayAndRecord, with:  AVAudioSessionCategoryOptions.defaultToSpeaker

我找到了一个至少对我有用的解决方法。

以下文章 https://forums.developer.apple.com/thread/65656 表示这种异常发生在多输入音频单元初始化时。

为了防止多输入音频单元的初始化, 我在更改音频会话类别之前添加了以下代码

AudioOutputUnitStop((engine.inputNode?.audioUnit)!)
AudioUnitUninitialize((engine.inputNode?.audioUnit)!)

engine 是AVAudioEngine 的实例。

希望对大家有帮助!

【讨论】:

这不起作用,还需要使用麦克风。

以上是关于测试飞行应用程序因 libAVFAudio.dylib 崩溃:AVAE_RaiseException(NSString*, ...) + 60的主要内容,如果未能解决你的问题,请参考以下文章

当提供商因缺少授权标头而拒绝飞行前请求时,使客户端CORS正常工作

Xcode 9.4 + 仅测试飞行应用程序崩溃

无法从测试飞行安装应用程序。此请求有误

出口合规测试飞行?

测试飞行不可用

iTunes Connect 测试飞行测试版 - 没有可供下载的应用程序