¿Cómo debo reducir el retraso de las llamadas REST en iPhone?

En primer lugar, debe identificar el cuello de botella: cliente (iPhone), servidor o red.

Dado que es rápido en el simulador, probablemente no sea el servidor.

¿Es lento si estás en wifi o no? Si es notablemente más rápido con wifi, considere hacer que los datos que envía de un lado a otro sean más ágiles. Elimine datos innecesarios y / o haga una compresión elegante. Si corresponde, implemente la paginación de fragmentos (¿más pequeños?) Para datos en lugar de todos a la vez.

Si no es la red ni el servidor, eso deja el iPhone. ¿Estás analizando un montón de JSON? ¿Lo estás haciendo en un hilo de fondo? ¿Estás procesando esos datos de manera ineficiente? Para esto, puede usar instrumentos y descubrir qué le está tomando más tiempo.

No he trabajado con AFNetworking.

Por cierto, la técnica de mantener vivo puede quemar las baterías si se ejecuta en segundo plano. No haría eso a menos que sea claramente necesario.

¡Arreglado mi problema! Fue debido a que el servidor raspberry pi no tenía el último protocolo HTTP / 1.1. Estaba usando 1.0. Además, keepalive no estaba habilitado en el lado del servidor.

Verifique su tipo de conexión y asegúrese de estar conectado a Wifi. Si aún es lento, asegúrese de no tener el acondicionador de red de depuración encendido y configurado en una conexión lenta o poco confiable.