iOS 测试中未启用后台模式

Posted

技术标签:

【中文标题】iOS 测试中未启用后台模式【英文标题】:Background mode is not enabled in iOS tests 【发布时间】:2017-10-24 00:45:14 【问题描述】:

我正在编写一个 Swift 库,该库又使用 AudioKit 库作为依赖项。在 ios 中使用 AudioKit 时,您必须在项目设置的功能部分中启用“后台模式”。但是在运行 iOS 测试时,没有地方进行这样的配置,结果你会遇到这个错误:

CheckError 错误:kMIDINotPermitted:您是否在您的 ios 应用中启用了音频背景模式 >?

我尝试将相应的“必需的背景模式”条目添加到库和测试文件的 plist 文件中,但无济于事。也许 AudioKit 的测试代码可以提供一些启示?谢谢。

【问题讨论】:

AudioKitTestSuite 项目或许能有所启发?它在 AudioKit 的很多部分上运行单元测试,但可能不需要任何 MIDI。这是链接:github.com/AudioKit/AudioKit/tree/master/AudioKit/iOS/… @AureliusProchazka 是的,我正在这样做,但似乎找不到任何相关代码。 AKTester 并没有做任何特别的事情......关于这个问题的有趣部分是 MIDI 音符都可以播放,但音色像正弦波一样平淡。 找不到源文件时使用正弦波。 @AureliusProchazka 谢谢。那是一个单独的问题。但我仍然收到kMIDINotPermitted 错误:( 经过一些研究,我找不到为测试目标打开此功能的方法。 【参考方案1】:

我找到了解决办法:

在您项目的“功能”选项卡的“背景模式”下启用背景音频。

Reference

【讨论】:

以上是关于iOS 测试中未启用后台模式的主要内容,如果未能解决你的问题,请参考以下文章

iOS 13 版本的 XCUI 测试框架中未检测到 iOS Search Bar

React Native iOS - 在 Podfile 中启用 Hermes,但在应用程序中未启用

如何在 iOS4 中选择性地启用后台处理

为啥后台线程中未处理的异常不会使应用程序域崩溃?

iOS 7 远程通知后台模式

如何在现有的 ios 测试项目中启用 xcode 7 UI 测试