美文网首页
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