如何在来电通讯录分机中添加大量号码?

问题描述 投票:0回答:1

我需要实现一个逻辑,将大量号码添加到呼叫目录扩展中。

我使用这个函数来生成和添加数字:

  func generatePhoneNumbers(from pattern: String, to context: CXCallDirectoryExtensionContext) {
    
    func generate(current: String, index: Int) {
      if index == pattern.count {
        
        if let number = Int64(current) {
          context.addBlockingEntry(withNextSequentialPhoneNumber: number)
        }
        return
      }
      
      let char = pattern[pattern.index(pattern.startIndex, offsetBy: index)]
      
      if char == "#" {
        for digit in 0...9 {
          generate(current: current + String(digit), index: index + 1)
        }
      } else {
        generate(current: current + String(char), index: index + 1)
      }
    }
    
    // Start generation
    generate(current: "", index: 0)
  }

这种方法允许我添加最多 2_000_000 个数字,但我需要更多。在第 2000000 个数字之后我看到一个错误

maximumEntriesExceeded

如何加载更多?有什么办法可以扩大扩展容量吗?

ios swift numbers call blocking
1个回答
0
投票

您需要创建多个CXCallDirectoryExtensions。

安装 TrueCaller 后,您将看到该应用程序使用 4 个扩展实例。 我假设这是条目限制的解决方法。

© www.soinside.com 2019 - 2024. All rights reserved.