首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Swift的CallKit

使用Swift的CallKit
EN

Stack Overflow用户
提问于 2016-12-09 09:15:20
回答 1查看 580关注 0票数 1

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

代码语言:javascript
复制
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代码来替换这段代码。我试着用我有限的知识来做这件事,但我没有成功。

任何帮助都将不胜感激。

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-12-09 09:40:19

  1. let c = CXCallController()
  2. let o = c.callObserver
  3. o.setDelegate(delegateThatIWillCreate, queue: DispatchQueue(label:"dispatchQueue for delegate"))
  4. implement the delegate.
  5. win!
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41051588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档