美文网首页
Linphone SDK使用(四)关闭CallKit

Linphone SDK使用(四)关闭CallKit

作者: fanren | 来源:发表于2023-04-19 17:04 被阅读0次

前言

LinphoneSDKCallKit默认是打开的;由于国内的限制,是不允许包含有CallKit的app上线;
所以我们需要把CallKit关闭;

一、关闭CallKit

  • CallManager.swift文件
@objc static func callKitEnabled() -> Bool {
    #if !targetEnvironment(simulator)
    if ConfigManager.instance().lpConfigBoolForKey(key: "use_callkit", section: "app") {
        return true
    }
    #endif
    return false
}

此处是根据配置文件里面的use_callkit来进行设置的,可以直接修改为false

    func setHeld(call: Call, hold: Bool) {
//      print("=======================\(hold)")
//      #if targetEnvironment(simulator)
        if (hold) {
            try?call.pause()
        } else {
            try?call.resume()
        }
//      #else
//      let callid = call.callLog?.callId ?? ""
//      let uuid = providerDelegate.uuids["\(callid)"]
//      if (uuid == nil) {
//          Log.directLog(BCTBX_LOG_ERROR, text: "Can not find correspondant call to set held.")
//          return
//      }
//      let setHeldAction = CXSetHeldCallAction(call: uuid!, onHold: hold)
//      let transaction = CXTransaction(action: setHeldAction)
//      requestTransaction(transaction, action: "setHeld")
//      #endif
    }

这里部分代码需要注释掉,这个方法是保持接回功能调用的方法;
#else部分的代码,是根据CallKit来进行设置的;

二、手动启动AudioSession

在接听电话的时候,需要手动启动一下AudioSession

CallManager.instance().lc?.configureAudioSession()
CallManager.instance().lc?.activateAudioSession(actived: true)

相关文章

网友评论

      本文标题:Linphone SDK使用(四)关闭CallKit

      本文链接:https://www.haomeiwen.com/subject/czngddtx.html