如何使用call kit框架以编程方式获取来电电话号码。我尝试使用cxcallobserver类,但没有使用。
当使用CallKit的调用阻塞&识别功能(iOS 10新功能),要阻止或识别的电话号码在来电前由应用程序的呼叫目录扩展加载,并由系统存储电话号码。然后,当传入呼叫到达时,系统会查询这些存储的数据,传入呼叫可以被阻止,也可以在传入呼叫UI中使用提供的标签识别。
出于隐私和性能原因,来电时不会启动Call Directory应用扩展,并且应用扩展无法检索来电的电话号码。
iOS 10中引入的呼叫目录扩展与iOS 9中引入的Safari内容拦截扩展类似。您的扩展必须提供一个电话号码列表(在safari的扩展,它是一个json文件),这些号码将由iOS存储,并在传入呼叫的事件,系统检查您的扩展提供的列表(就像safari会检查json文件在加载网站之前指定的规则),提供,您的扩展是活跃的。
所以,使用这个功能来创建一个类似呼叫者ID的应用是不可能的,因为事情不是动态的。此外,你可以在列表中提供的电话号码数量可能会有限制,这可能会在iOS 10发布时公布。