CallKit错误com.apple.CallKit.error.requesttransaction错误7

时间:2018-12-04 18:23:20

标签: ios swift twilio callkit

我正在使用Twilio语音快速入门代码https://github.com/twilio/voice-quickstart-swift。 当我进行客户端到客户端呼叫时,呼叫无法接通。虽然CallKit在后台运行,但是在后台发送应用程序时,我可以看到绿色的通知栏。 以下是错误: StartCallAction事务请求失败:操作无法完成。 (com.apple.CallKit.error.requesttransaction错误7。)

如您所见,谷歌搜索没有帮助,因为似乎没有解决方案?

有人知道如何进一步修复或调试它吗?

已更新: 附加VoIP设置,肯定已启用。 VOIP Settings

6 个答案:

答案 0 :(得分:1)

解决方案附近没有评论和解决方案。问题出在您编写的用于处理和初始化变量的代码中。 Twilio sdk也没有错,所以不要看那里。除了twilio示例代码之外,您正在执行的所有操作都是寻找问题的地方。

我在类似的问题上也浪费了我几个月的时间,发现初始化一个变量存在问题。

答案 1 :(得分:0)

这里是Twilio开发人员的传播者。

您有enabled capabilities for Voice over IP in the project settings吗?

答案 2 :(得分:0)

这可能对某人有帮助:将Twilio Voice集成到我的iOS应用后,我得到了与Dan相同的错误。就像Dan一样,此错误仅在首次启动时才发生。

在我的应用中,有一个按钮会转到呼叫屏幕,在该屏幕上将在viewDidLoad中启动呼叫。将其更改为在viewDidAppear中启动调用后,该错误便再也不会发生。我不确定为什么会这样,但是在首次启动时设置Call​​Kit似乎有些延迟。

请澄清一下,这是我得到的错误:操作无法完成。 (com.apple.CallKit.error.requesttransaction错误7。)

答案 3 :(得分:0)

在请求CXStartCallAction之前,尝试尽快初始化CXProvider和CXCallController

答案 4 :(得分:0)

您正尝试在请求另一个CXStartCallAction之后立即请求CXStartCallAction。您需要正确结束第一个通话。

无论如何,您必须遵循正确的操作顺序。一旦您在序列中使用了错误的操作,CallKit将返回一个或另一个错误。

请勿在处理另一个动作后立即请求一个动作。两个请求之间应该有一段时间。例如,您启动了CXStartCallAction,然后检查该用户是否处于脱机状态并尝试结束通话。如果检查很快,则“结束操作”可能会导致错误。您需要等待几毫秒,然后才能取消拨出电话。

答案 5 :(得分:0)

我遇到了同样的问题,因为 ProviderCallController 已被延迟加载。

看起来 CXProvider initWithConfiguration 是异步运行的,这意味着您需要尽早调用它,否则您将面临在未完成 initWithConfiguration 函数的情况下进行调用的风险。

感谢@Allen 为我指明了正确的方向。