¿Es ABPeoplePickerNavigationController lento?

Cuando se utiliza ABPeoplePickerNavigationController toma un momento (~ 0.5 seg) para cargar y mostrar el control que es más lento que el time de reacción normal de otras windows emergentes.

Vine con la solución configuré el controller como una variable y accedí a este object precargado a través de:

 [self presentViewController:self.peoplePicker animated:YES completion:nil]; 

Solo por curiosidad, ¿hay otra forma de encender el selector sin precargarlo?

Mismo aquí, no tengo la respuesta para resolverlo y creo que podría ser un error de iOS 8 ( ACTUALIZACIÓN : sí, Apple lo confirmó).

En mis testings en iOS 7.x, el time de presentación de ABPeoplePicker es inferior a 0.2 seg.

El problema aparece solo en iOS 8.x, y solo la primera vez que presenta el ABPeoplePicker . La presentación de ABPeoplePicker tarda aproximadamente 3 segundos en mi aplicación y aproximadamente 1,5 segundos en una aplicación de muestra que solo hace la presentación de ABPeoplePicker presionando un button. Lo probé tanto en el simulador como en el dispositivo con ~ 20 contactos.

La carga previa de la instancia no cambia significativamente el time de presentación como esperaba. También intenté forzar la presentación en el hilo principal y configurar la animation como NO, pero todavía es lenta en iOS 8.

El analizador de time no me ayuda porque no puedo ver un time inesperado de computación.

Mientras esperamos la supuesta solución de errores, creo que las mejores soluciones son mostrar un indicador de progreso de la actividad al cargar el ABPeoplePicker o implementar nuestro propio ABPeoplePicker .

He implementado el mío, puedes encontrarlo en GitHub: VeeContactPicker , ¡y, por supuesto, usarlo! 😉

NOTICIAS DE APPLE:

El equipo de Apple respondió a mi informe de errores:

Apple Developer Relations 16-Jun-2015 00:36 AM

Creemos que este problema se abordó en el último iOS 9 beta. Esta es una actualización previa al lanzamiento de iOS 9. Consulte las notas de la versión para get instrucciones completas de installation. Pruebe con esta versión. Si aún tiene problemas, proporcione los loggings o información relevante que pueda ayudarnos a investigar. *

actualización de iOS 9

En iOS 9, ABFramework ha quedado en desuso para un nuevo marco de contactos orientado a objects que viene con un nuevo selector [ver CNContactPicker ]. Lamentablemente, parece que el problema no se ha resuelto, la lógica se ha actualizado, pero el ViewController sigue siendo el mismo que el de iOS 8. Por lo tanto, el CNContactPicker sigue siendo muy lento para cargar y mostrar el control …

Informé el error a Apple, esperando noticias …