2017-03-08 44 views
1

我想设置一个S3来存储我的iOS客户端的配置文件图像。我有它的工作,但我在我国的另一边我的合作伙伴无法上传,所以乱搞,现在我也无法上传。我仍然可以下载那里的图像,但仅此而已。无法将图像上传到S3从iOS

下面是我用上传它们的代码:

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 nil 

我得到这些错误:

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.} 

任何指针将不胜感激。这是我第一次使用S3,而且我还很迷茫。提前致谢!

回答

0

解决:所以事实证明,我的朋友有一个不同版本的豆荚,当我拉他的版本,我也得到了过时的。我们在找到解决方案pod update之前挣扎了大约一周。

TL/DR:pod update

+0

请将您的答案标记为解决方案。 – Macabeus