¿Por qué no se admite la realización de subidas de múltiples partes a S3 en iOS?

Planteamiento del problema:

Quiero upload un file binary grande (como un clip de audio) de una aplicación de iOS a S3, y me gustaría hacer que el event handling las desconexiones (o baja conectividad) de la aplicación sea lo más robusto posible, preferiblemente cargando el binary como un file serie de trozos.

Desafortunadamente, ni el AWSiOS SDK, ni el marco S3 de ASI parecen ser compatibles con las cargas de varias partes, o indican que planean agregar compatibilidad. Me doy count de que puedo iniciar una carga " beginBackgroundTaskWithExpirationHandler: " usando beginBackgroundTaskWithExpirationHandler: y eso me dará una window de time para completar la carga (actualmente 600 segundos, creo), pero qué debo hacer si no estoy en una situación para completar dicha carga dentro de ese período de time?

Además de preocuparse por completar las tareas dentro de ese período de time, ¿es una "mejor práctica" para cómo una aplicación debe reanudar las subidas, o incluso romper una carga más grande en trozos más pequeños?

He pensado en escribir una biblioteca para hablar con la API REST de S3 específicamente para cargas de varias partes, pero esto parece ser un problema que otros han sido resueltos o realizados, no necesitan ser resueltos (quizás por ser completamente apropiados para la plataforma )

Otra solución (excesivamente complicada) sería fragmentar el file en el dispositivo, uploadlo a S3 (o en otro lugar) y volverlo a ensamblar en S3 mediante un process de server. Esto parece aún más desagradable que rodar mi propia biblioteca para la carga de varias partes.

¿Cómo están manejando otros este problema?

Aparentemente estaba mirando alguna documentation mal actualizada.

en AmazonS3Client consulte:

 - (S3MultipartUpload * AmazonS3Client)initiateMultipartUploadWithKey:(NSString *)theKey withBucket:(NSString *)theBucket 

Lo que te dará una S3MultipartUpload que contendrá un uploadId .

A continuación, puede crear una S3UploadPartRequest mediante initWithMultipartUpload: (S3MultipartUpload *) multipartUpload y enviarla como lo haría normalmente.

S3UploadPartRequest contiene una propiedad int partNumber donde puede especificar la parte # que está cargando.

puede escribir un código para hacerlo, puede referir el código desde http://dextercoder.blogspot.in/2012/02/multipart-upload-to-amazon-s3-in-three.html . Core java code, los pasos se pueden usar para iOS.