在iOS 7.1

时间:2015-05-21 02:00:02

标签: ios objective-c iphone nsurlsession

我遇到了一个非常奇怪的问题 我正在进行后台上传,但出于某种原因,上传挂起,而奇怪的是它只在使用带有iOS 7.1.3的iPhone 5c时才会发生。
记录4-5次“继续上传”后,上传会挂起几秒钟(通常超过1分钟)。 然后它再次开始记录,并在几秒钟后再次停止。

我尝试在iOS 8.x的几个设备上运行该应用程序并且运行顺畅(包括iPhone 4s,因此我认为计算能力可能不是问题)。 我尝试在不同的连接上上传不同的文件,但问题仍然存在 我甚至尝试使用iOS 7.1模拟器,上传也没有问题 是否有一些我不知道的奇怪的iOS 7.1行为?我做错了吗?

这是我的代码

- (void) startUploadVideo:(Video*)video {
if (video.videoPath == nil) {
    video.videoPath = ExportPathFromMedia(video);
}

video.amazonBucketKey = AmazonBucketKey(video.assetID);

NSString *contentType = @"video/mp4";

NSURL *preSignedURL = [self obtainPreSignedURLRequestForPUTDataDaskWithKey:video.amazonBucketKey contentType:contentType];

NSMutableURLRequest *newRequest = [[NSMutableURLRequest alloc]initWithURL:preSignedURL];
newRequest.cachePolicy =NSURLRequestReloadIgnoringLocalCacheData;
[newRequest setHTTPMethod:@"PUT"];
[newRequest setValue:contentType forHTTPHeaderField:@"Content-Type"];
NSURLSession *session = [UploadManager sharedInstance].session;

NSURLSessionUploadTask *uploadTask = [session uploadTaskWithRequest:newRequest fromFile:[NSURL URLWithString:[NSString stringWithFormat:@"file://%@",video.videoPath]]];

[uploadTask resume];
}


- (void)URLSession:(NSURLSession *)session task:(NSURLSessionTask *)task didSendBodyData:(int64_t)bytesSent totalBytesSent:(int64_t)totalBytesSent totalBytesExpectedToSend:(int64_t)totalBytesExpectedToSend {
     NSLog(@"keeps uploading");
}

谢谢

0 个答案:

没有答案