我需要实现一个逻辑,将大量号码添加到呼叫目录扩展中。
我使用这个函数来生成和添加数字:
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
如何加载更多?有什么办法可以扩大扩展容量吗?
您需要创建多个CXCallDirectoryExtensions。
安装 TrueCaller 后,您将看到该应用程序使用 4 个扩展实例。 我假设这是条目限制的解决方法。