首页 > 解决方案 > 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)
        }
    })


}

应用程序组可以在应用程序和扩展程序之间共享数据,但我不知道我做错了什么。

标签: iosswiftcallkit

解决方案


您正在使用应用程序组进行 reloadExtension。

使用您的呼叫套件扩展包标识符。


推荐阅读