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)挂断
到此为止,就基本实现了,要是有什么问题,欢迎指教!