Carga a Amazon-S3 a través de AFNetworking

Tengo problemas para upload files a S3 a través de AFNetworking. Cuando bash cargar, recibo devoluciones de llamada que indican que se carga un pequeño porcentaje del file, luego cesan las devoluciones de llamada y, uno o dos minutos más tarde, recibo un post de time de espera.

Estoy usando AFAmazonS3Client, pero parece una subclass bastante simple de AFHTTPClient, así que parece improbable que el problema esté ahí. Como soy nuevo en AFNetworking y S3, estoy bastante seguro de que el problema es escribir este post 🙂

Descargué AWS-IOS SDK y pude publicar una image de su código de ejemplo sin problemas. Entonces, no creo que sea una configuration incorrecta de mi count S3.

Después de luchar un poco con el mismo problema y un poco de investigación, encontré una solución que parece funcionar bien.

Descargue el AWS de Amazon AWS para iOS y agréguelo a su proyecto:

http://aws.amazon.com/sdkforios/

Luego, implemente la testing de carga con una class NSOperation personalizada como se explica aquí:

Uso de delegates, operaciones y queues

El protocolo AmazonServiceRequestDelegate es la key para get actualizaciones de progreso, de manera similar a lo que hace AFNetworking .

En particular, este método es lo que necesitaba:

 -(void)request:(AmazonServiceRequest *)request didSendData:(NSInteger)bytesWritten totalBytesWritten:(NSInteger)totalBytesWritten totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;