小编Din*_*123的帖子

使用backgroundSessionConfiguration和NSURLSessionUploadTask上传会导致应用崩溃

我正在使用NSURLSessionUploadTask尝试新的花哨的iOS 7后台上传,当我使用defaultSessionConfiguration运行它似乎工作,但是一旦我尝试backgroundSessionConfiguration它崩溃在我调用uploadTaskWithRequest的行:

以下是代码示例.奇怪的是,虽然在线有无数的downloadTaskWithRequest示例,但我找不到一个将背景和上传结合在一起的单例.

//Create a session w/ background settings
NSURLSessionConfiguration *config = [NSURLSessionConfiguration backgroundSessionConfiguration:@"identifierString.foo"];
NSURLSession *upLoadSession = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];

//Create a file to upload
UIImage *image = [UIImage imageNamed:@"onboarding-4@2x.png"];
NSData *imageData = UIImagePNGRepresentation(image);
NSFileManager *fileManager = [NSFileManager defaultManager];
NSArray *URLs = [fileManager URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask];
NSString *documentsDirectory = [[URLs objectAtIndex:0] absoluteString];
NSString *filePath = [documentsDirectory stringByAppendingString:@"testfile.png"];
[imageData writeToFile:filePath atomically:YES];

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:@"https://file.upload/destination"]];
[request setHTTPMethod:@"PUT"];
NSURLSessionUploadTask *uploadTask = [upLoadSession uploadTaskWithRequest:request fromFile:[NSURL URLWithString:filePath] completionHandler:^(NSData *data, NSURLResponse *response, …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c ios ios7 nsurlsession

3
推荐指数
2
解决办法
1万
查看次数

标签 统计

ios ×1

ios7 ×1

iphone ×1

nsurlsession ×1

objective-c ×1