Estoy tratando de configurar un S3 para almacenar imágenes de perfil para mi cliente iOS. Lo tenía funcionando, pero mi compañero en el otro lado del país no podía cargar, así que estábamos perdiendo el tiempo, y ahora tampoco puedo cargar. Todavía puedo descargar las imágenes que están allí, pero eso es todo.
Aquí está el código que estoy usando para subirlos:
let credentialsProvider = AWSCognitoCredentialsProvider(regionType:.USWest2, identityPoolId: myIdentityPoolId) let configuration = AWSServiceConfiguration(region:.USWest2, credentialsProvider:credentialsProvider) AWSServiceManager.defaultServiceManager().defaultServiceConfiguration = configuration let uploadRequest = AWSS3TransferManagerUploadRequest() uploadRequest.body = generateImageUrl(remoteName, image: image) uploadRequest.key = remoteName uploadRequest.bucket = S3BucketName uploadRequest.contentType = "image/jpeg" let transferManager = AWSS3TransferManager.defaultS3TransferManager() // Perform file upload transferManager.upload(uploadRequest).continueWith(executor: AWSExecutor.mainThreadExecutor(), block: { (task:AWSTask) -> AnyObject? in if let error = task.error { if error.domain == AWSS3TransferManagerErrorDomain, let code = AWSS3TransferManagerErrorType(rawValue: error.code) { switch code { case .Cancelled, .Paused: break default: print("Error uploading: \(uploadRequest.key)") } } else { print("Error uploading: \(uploadRequest.key)") } return nil } let uploadOutput = task.result print("Upload complete for: \(uploadRequest.key)") return nilEstoy recibiendo estos errores:
2017-03-08 ... [] nw_endpoint_flow_prepare_output_frames [10.1 52.218.128.128:443 ready socket-flow (satisfied)] Failed to use 1 frames, marking as failed 2017-03-08 ... [] nw_endpoint_handler_add_write_request [10.1 52.218.128.128:443 failed socket-flow (satisfied)] cannot accept write requests 2017-03-08 ... [] __tcp_connection_write_eof_block_invoke Write close callback received error: [22] Invalid argument 2017-03-08 ... AWSiOSSDK v2.5.1 [Error] AWSURLSessionManager.m line:212 | -[AWSURLSessionManager URLSession:task:didCompleteWithError:] | Session task failed with error: Error Domain=NSURLErrorDomain Code=-1001 "The request timed out." UserInfo={NSUnderlyingError=0x17005c560 {Error Domain=kCFErrorDomainCFNetwork Code=-1001 "(null)" UserInfo={_kCFStreamErrorCodeKey=-2102, _kCFStreamErrorDomainKey=4}}, NSErrorFailingURLStringKey=<myUrl>, NSErrorFailingURLKey=<myUrl>, _kCFStreamErrorDomainKey=4, _kCFStreamErrorCodeKey=-2102, NSLocalizedDescription=The request timed out.}Cualquier sugerencia sería muy apreciada. Esta es la primera vez que uso S3 y todavía estoy bastante perdido. ¡Gracias por adelantado!
RESUELTO: Entonces resulta que mi amigo tenía una versión diferente de las cápsulas y cuando saqué su versión, también obtuve las obsoletas. Luchamos durante aproximadamente una semana antes de encontrar la solución, la pod update del módulo. 🤦
TL/DR: pod update