[英]CallKit error com.apple.CallKit.error.requesttransaction error 2
[英]CallKit error com.apple.CallKit.error.requesttransaction error 7
我正在使用 Twilio 语音快速入门代码https://github.com/twilio/voice-quickstart-swift 。 当我进行客户端对客户端的呼叫时,呼叫无法连接。 不过,CallKit 在后台运行,当我在后台发送应用程序时,我可以看到绿色的通知栏。 以下是错误:StartCallAction 事务请求失败:操作无法完成。 (com.apple.CallKit.error.requesttransaction 错误 7。)
正如您所看到的,谷歌搜索没有帮助,因为似乎没有任何解决方案?
有谁知道如何进一步修复或调试它?
问题在于您编写的用于处理和初始化变量的代码。 Twilio sdk 中也没有任何问题,所以不要看那里。 您在 twilio 示例代码之外所做的任何事情都是寻找问题的地方。
我还在类似的问题上浪费了几个月的时间,并发现初始化一个变量存在问题。
Twilio 开发人员布道者在这里。
我正在使用Twilio语音快速入门代码https://github.com/twilio/voice-quickstart-swift 。 当我进行客户端到客户端呼叫时,呼叫无法接通。 虽然CallKit在后台运行,但是在后台发送应用程序时,我可以看到绿色的通知栏。 以下是错误:StartCallAction事务请求失败:操作无法完成。 (com.apple.CallKit.error.requesttransaction错误7。)
如您所见,Google似乎没有任何解决方案,因此对Google毫无用处吗?
有谁知道如何进一步修复或调试它?
在请求 CXStartCallAction 之前,尝试尽快初始化 CXProvider 和 CXCallController
您正在尝试在请求另一个CXStartCallAction
之后立即请求CXStartCallAction
。 您需要正确结束第一次通话。
在任何情况下,您都必须遵循正确的操作顺序。 一旦您在序列中使用了错误的操作,CallKit 将返回一个或另一个错误。
并且不要在处理完另一个动作后立即请求一个动作。 两次请求之间应该有一段时间。 例如,您启动了CXStartCallAction
,然后您检查该用户是否离线并尝试结束通话。 如果该检查很快,则“结束操作”可能会导致错误。 您需要等待几毫秒才能取消拨出电话。
我遇到了同样的问题,因为Provider
和CallController
已经被延迟加载。
看起来CXProvider
initWithConfiguration
是异步运行的,这意味着您需要尽早调用它,否则您将面临在未完成initWithConfiguration
函数的情况下进行调用的风险。
感谢@Allen 为我指明了正确的方向。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.