【问题标题】:call directory extension is not working when provided number from the text filed to block当从文本字段中提供号码以阻止时,呼叫目录扩展程序不起作用
【发布时间】:2016-09-21 07:18:54
【问题描述】:

当从文本字段中提供号码以阻止时,呼叫目录扩展不起作用。

我尝试了以下代码。

@IBAction func blockButtonAction(sender: UIButton) {
        if(numberTxfield.text == nil) {
            NSLog("Number should not be empty")
        }
        let callDicProvider = CallDirectoryHandler()
        callDicProvider.retrievePhoneNumbersToBlock(numberIs: numberTxfield.text!)
    }

// addBlockingPhoneNumbers 是阻止电话号码的方法。

func retrievePhoneNumbersToBlock(numberIs: String) -> Void {

        let numberFromString = Int64(numberIs)
        print("phone number is \(numberIs) and numberFromString \(numberFromString)")
        let number: CXCallDirectoryPhoneNumber = numberFromString!
        blockArray.append(number)
        print("blockArray number is \(blockArray) and \(blockArray.count) and \(number)")

        do {
            try addBlockingPhoneNumbers(to: contextIs)
        } catch {
            NSLog("Unable to add blocking phone numbers")
            let error = NSError(domain: "CallDirectoryHandler", code: 1, userInfo: nil)
            contextIs.cancelRequest(withError: error)
            return
        }
        CXCallDirectoryManager.sharedInstance.reloadExtension(withIdentifier: "com.something.something.CallIDExtension", completionHandler: {(error) -> Void in
            if let error = error {
                print(error.localizedDescription)
            }
        })
        contextIs.completeRequest()
    }

任何有用的建议...

【问题讨论】:

  • 您从根本上误解了扩展的工作原理。它们是它们自己的进程,由操作系统实例化/管理。您不能直接在应用程序中创建它们的实例。请务必阅读 Apple 的 App Extension Programming Guide 以更好地理解这一点,并使用 XCode 新项目向导生成扩展 shell 作为正确的起点。

标签: ios ios10 callkit


【解决方案1】:

在上面的代码中,我没有看到您的分机调用CXCallDirectoryExtensionContext.addBlockingEntry(withNextSequentialPhoneNumber:)。您必须在扩展程序的 beginRequest(with:) 方法中调用此方法,以告知系统阻止电话号码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-01
    • 1970-01-01
    相关资源
    最近更新 更多