我尝试将文件上传到亚马逊。下一个代码在iOS7中运行良好:
S3PutObjectRequest *putRequest = [[S3PutObjectRequest alloc] initWithKey:fileThumbanilName inBucket:bucketName];
putRequest.credentials = [[AmazonCredentials alloc] initWithAccessKey:ACCESS_KEY_ID withSecretKey:SECRET_KEY];
putRequest.filename = [_pathThumbnailToUpload lastPathComponent];
putRequest.endpoint = s3.endpoint;
// sign the request (also computes md5 checksums etc.)
NSMutableURLRequest *request = [s3 signS3Request:putRequest];
NSMutableURLRequest* request2 = [[NSMutableURLRequest alloc] initWithURL:request.URL];
[request2 setHTTPMethod:request.HTTPMethod];
[request2 setAllHTTPHeaderFields:[request allHTTPHeaderFields]];
NSURLSessionConfiguration *sessionConfiguration = nil;
sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfiguration:_pathThumbnailToUpload];
_sessionUploadThumbnail = [NSURLSession sessionWithConfiguration:sessionConfiguration delegate:self delegateQueue:nil];
uploadThumbanilTask = [_sessionUploadThumbnail uploadTaskWithRequest:request2 fromFile:[NSURL fileURLWithPath:_pathThumbnailToUpload] ];
[uploadThumbanilTask resume];
但是,当我在iOS8中运行应用程序时,方法“didReceiveChallenge”被无限次调用,请求永远不会完成。 此外,如果我从后台会话更改为默认,那么代码工作正常。这个问题与后台会话有关,但我找不到解决方案。