I need to implement a logic for adding a big quantity of numbers into the Call Directory Extension.
I use this function for generating and adding numbers:
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)
}
This approach allows me to add maximum 2_000_000 numbers but I need more. After the 2000000th number I see an error
maximumEntriesExceeded
How could I load more? Are there any ways to expand the extension capacity?