Post

Replies

Boosts

Views

Activity

CXCallDirectoryProvider clears all identification numbers after incremental add new on iOS 14.6
Hello! There is issue with iOS 14.6 and CallKit. Steps to reproduce: Fresh install app for identification numbers, reload extension and provide full list of numbers. All is fine Reload extension CXCallDirectoryExtensionContext .isIncremental == true - add 1 new number. Result: All previous phones from first step will be removed, and only 1 number, which we added from second step will be persist
1
0
895
Jun ’21
Call Directory extension adding numbers too long
Hello! We are trying to add about 1 mln numbers and everything fine, but it takes in the range of 300-1900 seconds on iPhone X iOS 15.1 I wrote some code to measure time of specific code and noticied that every 10 000 number context.addIdentificationEntry takes about 2-9 seconds although it usually takes about 0.00002 seconds. Here is a code: while reader.next() {             autoreleasepool {                 numbersCount += 1                 let phone = reader.phone                 let name = reader.name                 let startTime = DispatchTime.now() context.addIdentificationEntry(withNextSequentialPhoneNumber: .init(phone), label: name ?? "")                 let nanoTime = DispatchTime.now().uptimeNanoseconds - startTime.uptimeNanoseconds // <<<<< Difference in nano seconds (UInt64)                 print("context.addIdentificationEntry() \(numbersCount) time: \(Double(nanoTime) / 1_000_000_000) seconds")             }         } And some results: context.addIdentificationEntry() 9998 time: 6.5e-06 seconds context.addIdentificationEntry() 9999 time: 4.791e-06 seconds context.addIdentificationEntry() 10000 time: 3.185010625 seconds context.addIdentificationEntry() 10001 time: 7.85e-05 seconds context.addIdentificationEntry() 10002 time: 6.458e-06 seconds context.addIdentificationEntry() 19998 time: 5.542e-06 seconds context.addIdentificationEntry() 19999 time: 6.958e-06 seconds context.addIdentificationEntry() 20000 time: 11.186332542 seconds context.addIdentificationEntry() 20001 time: 9.2833e-05 seconds context.addIdentificationEntry() 20002 time: 1.6583e-05 seconds Let's print only results which takes more than 1 seconds: context.addIdentificationEntry() 10000 time: 3.331955583 seconds context.addIdentificationEntry() 20000 time: 3.40216025 seconds context.addIdentificationEntry() 30000 time: 3.972810084 seconds context.addIdentificationEntry() 40001 time: 3.228795667 seconds context.addIdentificationEntry() 50001 time: 2.544991 seconds context.addIdentificationEntry() 60002 time: 2.030784791 seconds context.addIdentificationEntry() 70002 time: 2.163966208 seconds context.addIdentificationEntry() 80002 time: 1.995436209 seconds ... context.addIdentificationEntry() 1110002 time: 1.514118458 seconds context.addIdentificationEntry() 1120002 time: 1.474603625 seconds context.addIdentificationEntry() 1130003 time: 1.539299917 seconds context.addIdentificationEntry() 1140003 time: 1.046125458 seconds So it takes too long to add 1 mln numbers. Sometimes it takes 250 sec, sometimes 1900 sec, don't know what it depends on
1
0
850
Nov ’21