如何在我的应用程序中使用呼叫目录分机来识别来电?
我正在致力于callKit框架,我发现通过使用呼叫目录扩展名,我们可以识别传入的电话号码。我的问题是如何在iOS应用中实现呼叫目录扩展以识别来电详细信息。我的目的C.如何在我的应用程序中使用呼叫目录分机来识别来电?
工作让许多“+ 919876xxxxx”呼叫目录扩展使用此方法添加:
- (BOOL)addIdentificationPhoneNumbersToContext:(CXCallDirectoryExtensionContext *)context { // Numbers must be provided in numerically ascending order.
CXCallDirectoryPhoneNumber phoneNumbers[] = {+919876xxxxx};
NSArray<NSString *> *labels = @[ @"Telemarketer"];
NSUInteger count = (sizeof(phoneNumbers)/sizeof(CXCallDirectoryPhoneNumber));
for (NSUInteger i = 0; i < count; i += 1) {
CXCallDirectoryPhoneNumber phoneNumber = phoneNumbers[i];
NSString *label = labels[i];
[context addIdentificationEntryWithNextSequentialPhoneNumber:phoneNumber label:label];
}
return YES;
}
我的呼叫阻塞和识别功能在手机设置。 当我从这个号码呼叫时,它显示[应用名称]来电显示:电话推销员。
我的问题是如何知道我的应用程序中的这个数字,以便我在表格中显示此数字。
在此先感谢。
回答:
如果这个问题不是如何写一个呼叫目录扩展,但是如何获得一个来电号码,我认为这是问题所在,那么它是不可能的。
当有来电时,不涉及通话目录分机。它所做的只是注册号码,该号码存储在电话应用专用的内部SQL数据库中。当有来电时,呼叫目录扩展程序不会运行,因此它和您的应用程序无法识别来电号码,这与以往一样,它在iOS 10中没有更改。
在iOS 10中添加了Voip应用程序的呼叫检测功能,但如果您不是voip应用程序,仍然无法获得传入(或传出)呼叫的号码。
回答:
首先,你需要让CallBlocker应用程序在应用程序设置为 遵循此 -
进入设置 - >电话 - >呼叫阻止&识别 - >启用您的 应用。
在使用addIdentificationEntry
后添加的条目
private func addIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) throws { let phoneNumbers: [CXCallDirectoryPhoneNumber] = [ 18775555555, +919899999999 ]
let labels = [ "Telemarketer", "Local business" ]
for (phoneNumber, label) in zip(phoneNumbers, labels) {
context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label)
}
}
这是使用延长工作在Xcode 8.x中迅速3.X
以上是 如何在我的应用程序中使用呼叫目录分机来识别来电? 的全部内容, 来源链接: utcz.com/qa/262830.html