Эта ошибка возникает только в 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.