ios - CallKit com.apple.CallKit.error.calldirectorymanager 错误 1
问题描述
我正在使用 callkit 来识别电话号码。
它给了我错误:The operation couldn’t be completed. (com.apple.CallKit.error.calldirectorymanager error 1.)
override func viewDidLoad() {
super.viewDidLoad()
let numbers = ["94XXXXXXX"]
let labels = ["TestUser"]
writeFileForCallDirectory(numbers: numbers, labels: labels)
// Do any additional setup after loading the view, typically from a nib.
}
fileprivate func writeFileForCallDirectory(numbers: [String], labels: [String]) {
guard let fileUrl = FileManager.default
.containerURL(forSecurityApplicationGroupIdentifier: "group.com.CallKit.CallBlock")?
.appendingPathComponent("contacts") else { return }
var string = ""
for (number, label) in zip(numbers, labels) {
string += "\(number),\(label)\n"
}
try? string.write(to: fileUrl, atomically: true, encoding: .utf8)
//CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: "group.com.CallKit.CallBlock")
CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: "group.com.CallKit.CallBlock", completionHandler: { (error) -> Void in
if let error = error {
print(error.localizedDescription)
}
})
}
应用程序组可以在应用程序和扩展程序之间共享数据,但我不知道我做错了什么。
解决方案
您正在使用应用程序组进行 reloadExtension。
使用您的呼叫套件扩展包标识符。
推荐阅读
- java - 无法使用 $value 获取消息的 MIME 版本
- javascript - JavaScript - 替换嵌套对象的值,而不影响整个对象
- php - 使用 array_merge 进行 Laravel 分页
- python - 使用 python 对字符串进行聚类的最佳方法
- odoo - odoo 过滤域运算符“child_of”的解释及其对“in”运算符的偏好
- c - 如何在 Windows 中更改控制台程序以支持 unicode?
- linux - 我正在尝试运行 psipred 命令,但它显示错误“不匹配'`'。'
- shell - 如何计算一行中的匹配模式?
- python - 更改像素以提高图片的对比度
- python - 我可以为 Python 中的某些属性错误设置异常吗?