1

我开发了一个应用程序,使用该CoreTelephony框架来检测手机状态的变化,效果很好。Swift 代码的通用形式(利用另一个StackOverflow答案)是:

import CoreTelephony

class SomeClass: UIViewController {

    private var callCenter = CTCallCenter()

    override func viewDidLoad() {
       super.viewDidLoad()

       callCenter.callEventHandler = { (call:CTCall!) in

           switch call.callState {
               case CTCallStateConnected:
                    println("CTCallStateConnected")
                   self.callConnected()
               case CTCallStateDisconnected:
                   println("CTCallStateDisconnected")
                   self.callDisconnected()
               default:
               //Not concerned with CTCallStateDialing or CTCallStateIncoming
                   break
           }
       }
   }

   func callConnected(){
       // Do something when call connects
   }

   func callDisconnected() {
       // Do something when call disconnects
   }
}

由于该CoreTelephony框架已在很大程度上被弃用并被CallKit框架取代,我想用等效的CallKit框架 Swift 代码替换此代码。我试图利用我有限的知识来做到这一点,但我没有成功。

任何帮助将不胜感激。

提前致谢。

4

1 回答 1

0
  1. let c = CXCallController()
  2. let o = c.callObserver
  3. o.setDelegate(delegateThatIWillCreate, queue: DispatchQueue(label:"dispatchQueue for delegate"))
  4. 实现委托。
  5. 赢!
于 2016-12-09T01:40:18.907 回答