1.来吧,直接点,先下载官方demo:https://developer.apple.com/library/content/samplecode/Speakerbox/Introduction/Intro.html

2.把下面的文件给我拖进去

3.在你打算调用的地方

  if #available(iOS 10.0, *) {

            displayIncomingCall(uuid: NSUUID.init(), handle: "电话号码", hasVideo: false, completion: nil) //这里电话号码填写之后会自动进行通讯录匹配

        } else {

            //创建UILocalNotification来进行本地消息通知

            let localNotification = UILocalNotification()

            //推送内容

            localNotification.alertBody = ""

            //声音

            localNotification.soundName = UILocalNotificationDefaultSoundName

            UIApplication.shared.presentLocalNotificationNow(localNotification)

        }

 

 

  //向用户展示来电

    func displayIncomingCall(uuid: NSUUID, handle: String, hasVideo: Bool = false, completion: ((NSError?) -> Void)? = nil) {

        if #available(iOS 10.0, *) {

            providerDelegate?.reportIncomingCall(uuid: uuid as UUID, handle: handle, hasVideo: hasVideo, completion: completion)

        } else {

            

        }

    }

4.添加CallExtension

(1) 

 

 (2)

 

 (3)

5.注意事项:

(1)框架的导入

(2)内存管理方式的改变,这个你懂就行:-fno-objc-arc

6.关于接听和挂断(都是在协议方法ProviderDelegate里面监听)

(1)接听

(2)挂断

到此为止,就基本实现了,要是有什么问题,欢迎指教!