我正在尝试集成CallDirectory Extension以阻止某些来电。但应用程序甚至无法识别为阻止提供的数字。是否有人成功地做到了这一点? 你可以看到我用过的格式..
private func addIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) throws {
let phoneNumbers: [CXCallDirectoryPhoneNumber] = [ 18775555555, 18885555555,+91949520]
let labels = [ "Telemarketer", "Local business","myPhone"]
for (phoneNumber, label) in zip(phoneNumbers, labels) {
context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label)
}
}
而且,我将此称为开发。 http://iphoneramble.blogspot.in/2016/07/ios-10-callkit-directory-extension.html
测试装置& iOS版本 - iphone 5s,iOS 10.1
答案 0 :(得分:5)
到目前为止,我已经获得了阻止呼叫的解决方案。我还没有办法检查呼叫阻止代码是否正常工作。以下是我为使其发挥作用所做的一些事情。
下面给出了用于添加阻止手机号码的示例代码
let phoneNumber:CXCallDirectoryPhoneNumber = CXCallDirectoryPhoneNumber(" 9194 ******")! context.addBlockingEntry(withNextSequentialPhoneNumber:phoneNumber)
检查您的应用是否已授予黑色通话权限 (设置 - >电话 - >呼叫阻止和识别 - >检查您的应用是否允许阻止呼叫)
CXCallDirectoryManager.sharedInstance.getEnabledStatusForExtension(withIdentifier: " bundleIdentifierOfYourExtension",completionHandler: {(状态,错误) - >无效 if let error = error { 打印(error.localizedDescription) } })
CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: “bundleIdentifierOfYourExtension”,completionHandler:{(错误) - >无效 if let error = error { 打印(error.localizedDescription) } })
您会发现这些网址对开发很有帮助。 http://iphoneramble.blogspot.in/2016/07/ios-10-callkit-directory-extension.html
如果您有改进的方法和更正,请告诉我。 谢谢,快乐的编码。
答案 1 :(得分:1)
电话号码数组必须是int64的排序列表。从最小到最大。该列表将被拒绝,否则会出现“无序输入”错误。
答案 2 :(得分:1)
很高兴看到Apple使用CX收听增强功能请求。在iOS 13.4中,Apple添加了直接从该应用程序打开“呼叫阻止和识别”设置的功能。
func openSettings(completionHandler completion: ((Error?) -> Void)? = nil)
https://developer.apple.com/documentation/callkit/cxcalldirectorymanager/3521394-opensettings