Ios 调用目录扩展名CallKit不执行';不能识别超过9位数的数字

Ios 调用目录扩展名CallKit不执行';不能识别超过9位数的数字,ios,callkit,Ios,Callkit,我正在与CallKit合作,开发一个带有呼叫目录扩展名的应用程序。我遵循了这一点,目前正在测试识别用户联系人中没有的号码的能力,并从我的应用程序中显示ID,但尽管它可以完美地处理1到9位数的号码,例如123456,但当我将号码设置为10位数或更多位数时,iOs无法识别该号码。在谷歌搜索了一天半之后,我没有发现任何关于这方面的信息。如果有人能帮助我,我将不胜感激。提前谢谢 设置识别电话号码的方法: private func addAllIdentificationPhoneNumbers(to c

我正在与CallKit合作,开发一个带有呼叫目录扩展名的应用程序。我遵循了这一点,目前正在测试识别用户联系人中没有的号码的能力,并从我的应用程序中显示ID,但尽管它可以完美地处理1到9位数的号码,例如123456,但当我将号码设置为10位数或更多位数时,iOs无法识别该号码。在谷歌搜索了一天半之后,我没有发现任何关于这方面的信息。如果有人能帮助我,我将不胜感激。提前谢谢

设置识别电话号码的方法:

private func addAllIdentificationPhoneNumbers(to context: CXCallDirectoryExtensionContext) {
        // Retrieve phone numbers to identify and their identification labels from data store. For optimal performance and memory usage when there are many phone numbers,
        // consider only loading a subset of numbers at a given time and using autorelease pool(s) to release objects allocated during each batch of numbers which are loaded.
        //
        // Numbers must be provided in numerically ascending order.

        let allPhoneNumbers: [CXCallDirectoryPhoneNumber] = [ 123456789, 1_888_555_5555 ]
        let labels = [ "ID test", "Local business" ]

        for (phoneNumber, label) in zip(allPhoneNumbers, labels) {
            context.addIdentificationEntry(withNextSequentialPhoneNumber: phoneNumber, label: label)
        }
    }

使用这段代码,当我模拟一个号码为123456789的呼叫时,iOS会显示标记“ID test”,这是正确的,但是如果我添加任何数字,例如末尾的0:1234567890,iOS在模拟呼叫时不会显示任何内容。我不知道我是否遗漏了什么。

好吧,经过一系列测试,我可以让它正常工作。关键是手机必须包含完整的国家/地区代码和区号。因此,例如00_52_55_4567_8932877或+52_55_4567_8932都可以工作。但55_4567_8932和4567_8932将不起作用。我希望这能在将来帮助别人。谢谢大家!

我假设你问题中的数字只是例子,但你必须确保你按升序添加数字;因此,必须在6121234567801之后添加612123456789。没错,这些号码是我用来模拟通话的号码,我确保按升序排列。所以,我想1234567890在18885555555之前仍然在运行。然后我不确定。根据我之前的评论,我的应用程序加载了标准的12位数字e.164,它们可以工作。到目前为止,我已经看到10位和11位数字不起作用,但9位和12位数字起作用。我不知道为什么数字不匹配。也许你用来欺骗被叫人的任何东西都不能正确发送10或11位数的号码