检测ios中的呼叫事件

And*_*ler 22 event-handling background-process background-foreground ios

我是ios的新手.我想知道是否有任何方法来检测呼叫事件,如来电,拨出电话,即使我的应用程序不在前台.如果是,那么我可以阅读有关该呼叫的详细信息,例如持续时间,是否错过,拨打或收到.提前致谢.

rck*_*nes 30

是的,您可以检测到呼叫.但仅当您的应用程序在前台运行时.为此,您可以使用核心电话框架.

如果您的应用程序属于任何后台运行类别(VOIP,音频,位置跟踪或附件),您可以 CTCallCenter在后台使用.但要注意,如果你错过了使用后台运行模式的东西,Apple会拒绝你的应用程序.

CTCallCenter将允许您检测已启动或正在进行的任何呼叫.

但是,您将无法检测到有关呼叫的任何详细信息,CTCall识别呼叫只会告诉您此状态.该callIDCTCall只是给你一个唯一的标识符,用于呼叫,但没有被调用的数量.

  • 不幸的是,`CTCallCenter`似乎在iOS 9(使用Xcode 7+构建)中完全被破坏,既没有`currentCalls`属性也没有`callEventHandler`工作. (3认同)
  • 那么他们如何在这个应用程序中工作https://itunes.apple.com/in/app/caller-id-ringtones-hear-who/id317855277?mt=8 (2认同)
  • 我的猜测是他们创建了一个自定义声音,他们将联系人指定为铃声. (2认同)