Sau*_*ain 1 objective-c ios ios10 xcode8 callkit
我正在研究callKit框架,我发现通过使用调用目录扩展,我们可以识别传入的电话号码.我的问题是如何在iOS应用程序中实现调用目录扩展来识别传入的调用详细信息.我在Objective 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;
}
Run Code Online (Sandbox Code Playgroud)
而我在电话设置中的通话阻止和识别功能.当我从这个号码打电话时,它会显示[应用程序名称]来电显示:电话推销员.
我的问题是如何在我的应用程序中知道这个数字,以便在表格中显示这个数字.
提前致谢.
如果这个问题不是如何写一个呼叫目录扩展,但是如何得到一个来电的号码,我认为这是什么问题,那么它是不可能的.
当有来电时,不涉及呼叫目录分机.所有这一切都是寄存器编号,这些编号存储在手机应用程序专用的内部SQL数据库中.当有来电时呼叫目录分机不会运行,因此它和你的应用无法识别来电号码,这与以往一样,在iOS 10中没有改变.
在iOS 10中添加了针对Voip应用程序的呼叫检测的新功能,但如果您不是VoIP应用程序,则仍然无法获得传入(或传出)呼叫的号码.
| 归档时间: |
|
| 查看次数: |
6312 次 |
| 最近记录: |