9

我正在尝试与 iOS10 的 CallKit 集成,但是当我在接听电话后尝试初始化音频会话时,此“AudioUnitInitialize”API 将抛出此错误“AVAudioSessionErrorCodeMissingEntitlement”。根据文档,这只是一行解释: https ://developer.apple.com/reference/avfoundation/avaudiosessionerrorcode/avaudiosessionerrorcodemissingentitlement

我应该如何更新支持这一点的权利?有没有人有经验?

4

2 回答 2

3

我也在 iOS10 Beta 6 中遇到了这个问题,并且能够通过将“AudioUnitInitialize”API 从performAnswerCallAction:方法(在 SpeakerBox 中实现)移动到initProviderDelegate 的例程来解决它。

通过在 ProviderDelegate 生命周期的早期移动初始化,以某种方式避免了“权利”问题。

于 2016-08-17T22:27:53.977 回答
0

我已经下载了 Apple 的Speakerbox示例应用程序来检查用于 CallKit 的权利和背景模式。

看起来他们将背景模式 - > IP 语音授权和“应用程序提供 IP 语音服务”键添加到应用程序的 Info.plist:

<key>UIBackgroundModes</key>
<array>
    <string>voip</string>
</array>

它还添加了INStartAudioCallIntent密钥NSUserActivityTypes和以下麦克风使用说明:

<key>NSMicrophoneUsageDescription</key>
<string>$(PRODUCT_NAME) uses the Microphone for call audio</string>
<key>NSCallKitUsageDescription</key>
<string>$(PRODUCT_NAME) makes and receives calls</string>
<key>NSUserActivityTypes</key>
<array>
    <string>INStartAudioCallIntent</string>
</array>
于 2016-07-05T19:48:07.413 回答