¿Cómo debería una aplicación iOS descargar dinámicamente recursos gráficos y de audio?

En primer lugar, dado que estamos hablando de grandes cantidades de datos, tendrá que pensar mucho en cómo puede optimizar su tamaño. A la mayoría de los usuarios no les importa que una sola aplicación tome tantos datos (también, recuerde que en iOS 5 los usuarios pueden optar por hacer una copia de seguridad de sus aplicaciones con iCould, que está limitado a solo 5 GB en cuentas gratuitas).
También querrás mantener el tamaño inicial de la aplicación lo más pequeño posible. La gente generalmente evitará descargar aplicaciones grandes, y no olvidemos el límite de 20 MB en una conexión 3G.

Supongo que lo que ocupa más espacio es el audio, le recomendaría que verifique si puede hacer algunas optimizaciones e intente comprimirlo o considere usar la transmisión en vivo en lugar de la descarga.

A sus preguntas:

1. Este es un poco difícil de responder sin más información sobre el contenido real de su aplicación y cómo se pretende utilizar este contenido.

En términos generales, deberá planificar y diseñar su aplicación para usar su contenido de manera escalable y que pueda usarse para manejar cantidades crecientes de datos que se presentarán al usuario de manera similar.
Por ejemplo, su aplicación podría confiar en una base de datos que señale el contenido que la aplicación tiene en este momento. Dado que la aplicación “sabe” cómo leer la base de datos y crear la GUI en consecuencia, cuando se descarga un nuevo contenido, puede actualizar su base de datos para incluir el nuevo contenido y su aplicación podrá presentarla de la misma manera que manejó el contenido anterior .
Puede combinar esto con la “carga diferida” de su contenido: descargue el contenido necesario solo cuando el usuario intente acceder a él, cada vez descargue solo lo que realmente es necesario para que funcione esta parte de la aplicación.

Otro enfoque diferente, que parece más razonable, sería no descargar ningún contenido. Cree una aplicación que sea solo un instrumento para acceder a su contenido en línea ya existente. Puede usar controles nativos de iOS y hacer que su servidor backend cree dinámicamente una respuesta html basada en el contenido que necesita mostrar al usuario en este momento. Una respuesta de su servidor puede ser aún más compleja y también puede incluir enlaces para imágenes que puede cargar de forma asíncrona y / o audio que puede transmitir.
La “carga diferida” también puede ser relevante para este enfoque.

2. De nuevo, eso depende de tu contenido.
Si está renovando contenido y desea ofrecer suscripciones, puede echar un vistazo a las aplicaciones de kiosco como NYTimes para iPad, la revista WIRED, la fotografía popular, etc.
Si solo está ofreciendo desbloquear el acceso a algún contenido estático, hay tantas aplicaciones que tienen compras en la aplicación de todo tipo y tipo, que no sabría si comenzaría sin más información específica sobre su aplicación, como: ¿Es una aplicación gratuita o de pago? ¿la compra en la aplicación solo permite ver contenido adicional o también agrega nuevas funciones o cambia la apariencia de su aplicación?
En una aplicación que desarrollamos, por ejemplo, tenemos una compra en la aplicación que actualiza al usuario a una versión “profesional”, pero no implica la descarga de contenido nuevo, solo desbloquea ciertas funciones.
Le sugiero que verifique qué están haciendo aplicaciones similares con sus compras en la aplicación.

3. Hay algunas posibles soluciones en las que puedo pensar para esta tarea:
– Sincronizar a través de iCloud. No es una buena solución si tiene muchos datos: es equivalente a descargar el contenido nuevamente y está limitado en almacenamiento.
– Implemente su propia sincronización p2p en dispositivos a través de WiFi, lo cual es bastante fácil en iOS.
– Agregar un mecanismo de importación / exportación para el contenido. Esto no es ideal ya que es un poco más complicado para el usuario que tendrá que exportar el contenido en un dispositivo y luego importarlo a través del uso compartido de archivos de iTunes en el otro.

Hice mi mejor esfuerzo para responder las preguntas dada la limitada información que ha proporcionado. Espero que ayude de alguna manera, o al menos te dé algunas ideas de por dónde empezar.

Hola, recomiendo leer este artículo en la documentación de iOS de Apple:
Mejores prácticas para crear e implementar medios de transmisión en vivo HTTP para iPhone y iPad

Además, una buena práctica es segmentar su audio o videos a intervalos de hasta 10 segundos, crear varias codificaciones de sus medios y validarlos utilizando el validador de flujo de medios proporcionado por Apple.

Gracias . Mi estudio está lanzando 1 gb (2 horas de historia más música) … Necesito ayuda