- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
此错误仅出现在 iOS 13.3.1 中。它不会出现在 iOS 13.3.0 或更早版本上。
如果应用程序在前台并调用 CXCallController.request
,则它工作正常。但是一旦我将应用程序置于后台并执行“CXCallController.request”(由耳机播放按钮触发),我就会收到以下错误:
Error requesting transaction: Error Domain=com.apple.CallKit.error.requesttransaction Code=6 "(null)"
代码 6 是 CXErrorCodeRequestTransactionError.Code.invalidAction
这是示例代码的片段
let uuid = UUID()
let handle = CXHandle(type: .emailAddress, value: "jappleseed@apple.com")
let startCallAction = CXStartCallAction(call: uuid, handle: handle)
let transaction = CXTransaction(action: startCallAction)
callController.request(transaction) { error in
if let error = error {
print("Error requesting transaction: \(error)")
} else {
print("Requested transaction successfully")
}
}
相同的代码在 iOS 13.3.0 及更早版本中运行良好,无论应用程序是前台还是后台。也许这是 13.3.1 的错误,或者 Apple 在应用程序处于后台时实现了一些安全措施?但是我在 iOS 13.3.1 发行说明中没有看到它。
最佳答案
我找到了解决我自己问题的方法。它可能只适用于我的特定条件。它可能无法解决所有错误代码=6 的问题。只是想让你知道。
解决此问题的方法是,当您的应用程序处于后台时,您必须在调用 CXCallController.request(:)
之前播放音频。如果需要,您甚至可以播放一秒钟的静音。它不一定是可听见的声音。
如果它不起作用,您可以尝试使用 dispatch async 延迟 0.1 秒来调用 CXCallController.request(:)
。这个想法是,当您调用 CXCallController.request(:)
时,您需要确保音频引擎处于事件状态。
关于ios - CallKit CXCallController.request error com.apple.CallKit.error.requesttransaction Code=6 while app is in the background,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60346953/
我正在创建一个 VOIP 应用程序。大多数逻辑类似于 VoIP 应用程序的 CallKit iOS Swift 教程( super 简单)教程。 https://websitebeaver.com/c
我正在创建一个 VOIP 应用程序。大多数逻辑类似于 Raywenderlich Tutorial . 我的问题是,在接受调用后,CXCallController 不在应用程序的顶部,而是在“任务管理
此错误仅出现在 iOS 13.3.1 中。它不会出现在 iOS 13.3.0 或更早版本上。 如果应用程序在前台并调用 CXCallController.request,则它工作正常。但是一旦我将应用
我是一名优秀的程序员,十分优秀!