IOS – What are the performance impacts of blocking a contact with 10,000 numbers in it

contactsiosiphone

My wife and I are getting a ridiculous amount of same-exchange spam calls (same area code and first three digits) and are looking for a solution. One promising solution is outlined in this apple discussion — create a .vcf file to establish a contact containing all 10,000 numbers (-0000 … -9999) in that exchange and then block that contact. A nuclear option so to speak.

I've read that having a contact with several hundred numbers in it can be slow to open, on the order of several seconds to open for one containing 200 contacts. But it isn't clear if "open" in that context refers to opening it in the Contacts app to view or loading it into memory to check when a call comes in.

We each have an iPhone 6 and just upgraded to iOS 11 via wipe and restore, and we haven't experienced much slowdown so far other than a slight (fractions of a second) degradation in response here and there.

What kinds of performance issues should we expect if we take this route?

Edit And specifically is there any danger of bricking our phones or otherwise crashing if we use this? There is some discussion in the above link of the contacts app no longer opening.

Another option is to create say 20 contacts each with 500 numbers, or 100 contacts each with 100 numbers, or something like that. But I don't know if there is a larger performance hit for breaking it up that way vs having them all in one.

Why the nuclear option? We moved away from that location ten years ago but kept the numbers for convenience, we do not receive any calls from so-called "neighbors" out there, and I would prefer not to use a call-blocking app due to privacy concerns, so this seems like a perfect solution. (second only to nuking the spammers from orbit)

Edit 2 I am currently experimenting with creating the contacts manually with 500 numbers per contact, for a total of 20 contacts. It only took a few minutes to generate and import four contacts with 2,000 numbers total once the spreadsheet was set up, and that included emailing the contacts to my phone and importing them there.

Solution I'm marking Matt's answer as the solution because he pointed me in the direction of the app WideProtect. I installed it a couple days ago and so far there have been no calls.

Initially I was avoiding installing an app due to privacy concerns, but after reading the CallKit API I was persuaded to give it a shot. The app does require access to your Contacts if you want to allow numbers from your contacts through the block (which seems opposite from what the CallKit API says…) but I got around that by blocking all ranges except the range my wife's number is in. For example, if my wife's number is 123-555-3859 I would block 123-555-0XXX, 123-555-1XXX, 123-555-2XXX, 123-555-4XXX, etc. Skipping 3XXX. That gives only a 10% chance scammers will pick the range that includes my wife's number, so that is an acceptable tradeoff to me AND it avoids giving WideProtect access to my contacts list. If it becomes unbearable I can block 123-555-30XX..123-555-37XX and 123-555-39XX giving only a 1% chance they randomly pick the range. So that works great for me and preserves privacy.

Many thanks to Matt for pointing me down that path. This looks like a great solution.

Best Answer

There's no impact in performance. TrueCaller uses CallKit, the iOS provided method of blocking spam calls, and behind the scenes they are all loaded into one contact.

The only issue would be if you wanted to manage that contact manually rather than using an app that is designed to do it. Swiping to delete hundreds of contacts is a pain!

Anyway, there's an app called WideProtect that uses the CallKit to do the blocking and will let you set ranges of numbers to block.

Related Question