¿Cuáles son los impactos en el rendimiento de bloquear un contacto con 10,000 números?

Mi esposa y yo recibimos una cantidad ridícula de llamadas de spam del mismo intercambio (mismo código de área y primeros tres dígitos) y estamos buscando una solución. Una solución prometedora se describe en esta discusión de Apple : cree un archivo .vcf para establecer un contacto que contenga los 10,000 números (-0000 ... -9999) en ese intercambio y luego bloquee ese contacto. Una opción nuclear por así decirlo.

He leído que tener un contacto con varios cientos de números puede ser lento para abrir, del orden de varios segundos para abrir uno que contiene 200 contactos. Pero no está claro si "abrir" en ese contexto se refiere a abrirlo en la aplicación Contactos para verlo o cargarlo en la memoria para verificar cuándo entra una llamada.

Cada uno de nosotros tiene un iPhone 6 y acabamos de actualizar a iOS 11 a través de borrar y restaurar, y no hemos experimentado mucha ralentización hasta ahora, aparte de una ligera degradación (fracciones de segundo) en respuesta aquí y allá.

¿Qué tipo de problemas de rendimiento deberíamos esperar si tomamos esta ruta?

Editar Y, específicamente, ¿existe algún peligro de bloquear nuestros teléfonos o colapsar si usamos esto? Hay alguna discusión en el enlace anterior de que la aplicación de contactos ya no se abre.

Otra opción es crear, digamos, 20 contactos cada uno con 500 números, o 100 contactos cada uno con 100 números, o algo así. Pero no sé si hay un mayor impacto en el rendimiento por dividirlo de esa manera en lugar de tenerlos todos en uno.

¿Por qué la opción nuclear? Nos mudamos de esa ubicación hace diez años, pero mantuvimos los números por conveniencia, no recibimos llamadas de los llamados "vecinos" y preferiría no usar una aplicación de bloqueo de llamadas debido a problemas de privacidad, así que esto parece una solución perfecta. (solo superado por bombardear a los spammers desde la órbita)

Editar 2 Actualmente estoy experimentando con la creación de contactos manualmente con 500 números por contacto, para un total de 20 contactos. Solo tomó unos minutos generar e importar cuatro contactos con 2,000 números en total una vez que se configuró la hoja de cálculo, y eso incluyó enviar los contactos por correo electrónico a mi teléfono e importarlos allí.

Solución Estoy marcando la respuesta de Matt como la solución porque me indicó la dirección de la aplicación WideProtect. Lo instalé hace un par de días y hasta ahora no ha habido llamadas.

Inicialmente, estaba evitando instalar una aplicación debido a problemas de privacidad, pero después de leer la API de CallKit, me convencieron de intentarlo. La aplicación requiere acceso a sus contactos si desea permitir que los números de sus contactos pasen por el bloque (que parece lo contrario de lo que dice la API de CallKit...) pero lo solucioné bloqueando todos los rangos excepto el rango en el que está el número de mi esposa. in. Por ejemplo, si el número de mi esposa es 123-555-3859, bloquearía 123-555-0XXX, 123-555-1XXX, 123-555-2XXX, 123-555-4XXX, etc. Omitiendo 3XXX. Eso da solo un 10% de posibilidades de que los estafadores elijan el rango que incluye el número de mi esposa, por lo que es una compensación aceptable para mí Y evita dar acceso a WideProtect a mi lista de contactos. Si se vuelve insoportable puedo bloquear 123-555-30XX.. 123-555-37XX y 123-555-39XX dan solo un 1% de probabilidad de que elijan el rango al azar. Eso funciona muy bien para mí y preserva la privacidad.

Muchas gracias a Matt por señalarme ese camino. Esto parece una gran solución.

Me pregunté por un momento cómo probar esto. Supongo que el riesgo podría ser doble: que tenga problemas de sincronización entre dispositivos si sincroniza ese gran contacto con iCloud u otro servicio en la nube y provoca un bloqueo. Luego está la idea de que el código podría iterar sobre los números de teléfono pensando que solo tendría un puñado o una docena de elementos y eso ralentizaría una operación o una aplicación.
@bmike No soy un experto en Apple (usamos Windows pero tenemos iPhones) pero ese es el tipo de cosas que me pregunto. Probablemente lo intentaré, pero estoy tratando de averiguar si bloqueará mi teléfono o algo así. Hasta ahora no puedo encontrar ninguna información sobre el límite # por contacto, solo un límite de tamaño. Lo cual supongo que podría imputar una estimación aproximada de los # permitidos, pero sin conocer el tamaño base de un contacto, en el mejor de los casos es una suposición descabellada.
@bmike Agregué una edición después de darme cuenta de que no mencioné la otra opción que estaba considerando: múltiples contactos con cantidades más pequeñas de números en cada uno. Mi instinto dice que puede ser el enfoque más seguro, pero no estoy seguro.
Hiya tiene una opción para bloquear llamadas no deseadas en el intercambio local. Dado que usa CallKit, no genera un gran contacto para administrar los números bloqueados. Debería obtener un buen rendimiento incluso en un iPhone 5. La base de datos actual de números incorrectos ahora tiene alrededor de 200,000 entradas.

Respuestas (2)

No hay impacto en el rendimiento. TrueCaller usa CallKit, el método proporcionado por iOS para bloquear llamadas no deseadas, y detrás de escena, todas se cargan en un solo contacto.

El único problema sería si desea administrar ese contacto manualmente en lugar de usar una aplicación diseñada para hacerlo. ¡Deslizar para eliminar cientos de contactos es una molestia!

De todos modos, hay una aplicación llamada WideProtect que usa CallKit para hacer el bloqueo y te permitirá establecer rangos de números para bloquear.

Mi problema es que las llamadas están diseñadas para aparecer como si fueran mis "vecinos" del mismo intercambio que yo. Entonces, si mi número es 123-456-7890, recibimos llamadas todo el día del 123-456-3321 o 123-456-7365 o ... siempre un último 4 aleatorio (así que necesito bloquear 10,000 números, no 1,000 me equivoqué mi pregunta) Por lo que entiendo, las aplicaciones no bloquean esas llamadas. En este momento estoy experimentando con la creación de 20 contactos con 500 números cada uno. Veremos cómo va con algunos por un tiempo y luego aumentaremos.
Debo agregar que, obviamente, muchos de esos números son números legítimos, solo que no son los que alguna vez me llamarían . Por lo tanto, una aplicación no debería bloquearlos, ya que alguien más puede querer llamadas de otras personas en el mismo intercambio. De ahí la necesidad de algo como la opción que estoy considerando.
Usted dice que parecen ser del mismo intercambio. Entonces, ¿estás redirigiendo las llamadas de tu teléfono fijo a tu iPhone?
@Dave editó mi respuesta para agregar una aplicación que hará exactamente lo que quieres.
Matt no, vivimos en otro estado durante los últimos 10 años, pero conservamos nuestros números anteriores. Nunca recibiremos llamadas de nadie en la misma central, excepto cuando nos llamemos entre nosotros. El problema es que a veces recibimos más de 10 llamadas al día. Esta es una táctica de estafa común en la que las personas que llaman falsifican el código de área + el intercambio para que parezcan "locales", lo que nos hace obvio que son llamadas de estafa, por lo que las ignoramos. Es simplemente ridículo que el teléfono suene con tanta frecuencia. No queremos silenciar TODAS las llamadas, solo ese intercambio.
Matt WideProtect se ve bien. No estoy familiarizado con CallKit y no sé mucho sobre cómo trata la privacidad. Al consultar la descripción general de la API ( developer.apple.com/documentation/callkit ), parece que iOS compara primero las llamadas entrantes con los contactos del teléfono, luego con la lista de bloqueo y luego con la lista de bloqueo de WideProtect. Eso significaría que los únicos números visibles son números que no tengo en mi lista de contactos. ¿Es eso correcto? ¿Por qué también requiere el privilegio de identificación de llamadas?
@MattSephton son números de llamadas falsos, recibimos este tipo de llamadas no deseadas pero solo en un teléfono; es muy molesto y, lamentablemente, no podemos bloquear los 10,000 números.
@Tyson pero puede bloquear 10k números con la aplicación WideProtect.
@Dave bloquear números a través de CallKit no requiere ningún privilegio especial; en un momento lo hizo, pero ya no. Tiene razón en que solo pasa números que no son reconocidos por ninguna otra aplicación en su teléfono (no solo Contactos)
@MattSephton correcto, pero en nuestro caso no podemos bloquear el prefijo porque recibimos muchas llamadas válidas de ese mismo bloque de números. Las empresas de telecomunicaciones deberían proteger mejor el identificador de llamadas para que no sea fácil de falsificar. CallerId es como toda la plataforma de correo electrónico y las leyes de control de armas en los EE. un poco de trabajo, pero un poco no demasiado.
Recomiendo ir con una aplicación de bloqueo de llamadas establecida que use una base de datos común para que todos se beneficien de los informes de los demás. Yo uso TrueCaller y funciona muy bien. La mejor de las suertes para todos ustedes. Cambio y fuera.
Matt, estoy marcando la tuya como la solución por las razones que especifiqué en una edición de mi pregunta. WideProtect es excelente, pero requiere acceso a sus contactos para permitir que las llamadas específicas en el rango bloqueado se comuniquen, pero lo solucioné. Hasta ahora he tenido dos días de dichoso silencio. Gracias. :)
¡Dulce! Feliz por ti, cuídate.

No puedo informar ningún impacto en el rendimiento en un límite mucho más bajo: mi contacto llamado "Spam de telemarketing" al que agrego personas que llaman y bloqueo ese contacto tiene alrededor de 125 teléfonos de profundidad.

Agregaría todos los números a un contacto para simplificar su vida hasta que note un problema y luego retroceda un poco e itere a múltiples contactos.


En algún momento, si la molestia de seleccionar esta lista supera mi vacilación para suscribirme a un servicio que se integra con la aplicación de teléfono iOS para clasificar e intentar bloquear a los malos sospechosos y conocidos, probablemente pagaré por un servicio para bloquear llamadas. Hasta ahora, no puedo medir ninguna ralentización o congelación, pero podría ver posibles problemas si logra tener miles de números en el mismo contacto.

Lo sentimos, esto no es muy riguroso, pero este podría ser bastante fácil de probar empíricamente al generar un contacto con 5000 números y ver cuándo se rompe cuando tienes tiempo y una copia de seguridad para restaurar tu dispositivo iOS.

Si necesitara crear un perfil de esto, podría usar Instruments para adjuntarlo a la aplicación de contactos y ver dónde se almacena el contacto en el sistema de archivos (para iOS o macOS), por lo que claramente hay una manera de aplicar ingeniería inversa sobre cuánto espacio ocupa un número para almacenar y mida cualquier uso de CPU relacionado con la edición de ese archivo o el procesamiento de esos datos. A menos que vea aumentos en la memoria y la CPU, probablemente pueda asumir con seguridad que mientras siga agregando números, el sistema responderá bien si solo observa la velocidad general del dispositivo mientras edita ese contacto.