From 53d23eda59daccd027b373a7e1f99c549cfa8bec Mon Sep 17 00:00:00 2001 From: Stephen Poter Date: Fri, 2 Feb 2018 11:55:59 -0500 Subject: [PATCH 1/2] cleanup code a bit. implement requiresMainQueueSetup to remove warning when starting the app --- ios/VydiaRNFileUploader.m | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/ios/VydiaRNFileUploader.m b/ios/VydiaRNFileUploader.m index ba5d3a26..407884f7 100644 --- a/ios/VydiaRNFileUploader.m +++ b/ios/VydiaRNFileUploader.m @@ -1,11 +1,3 @@ -// -// VydiaRNFileUploader.m -// Vydia -// -// Created by Kenneth Leland on 12/8/16. -// Copyright © 2016 Vydia. All rights reserved. -// - #import #import #import @@ -24,9 +16,13 @@ @implementation VydiaRNFileUploader @synthesize bridge = _bridge; static int uploadId = 0; static RCTEventEmitter* staticEventEmitter = nil; -static NSString *BACKGROUND_SESSION_ID = @"VydiaRNFileUploader"; +static NSString *BACKGROUND_SESSION_ID = @"ReactNativeBackgroundUpload"; NSURLSession *_urlSession = nil; ++ (BOOL)requiresMainQueueSetup { + return NO; +} + -(id) init { self = [super init]; if (self) { @@ -88,7 +84,9 @@ - (void)_sendEventWithName:(NSString *)eventName body:(id)body { } } -// Borrowed from http://stackoverflow.com/questions/2439020/wheres-the-iphone-mime-type-database +/* + Borrowed from http://stackoverflow.com/questions/2439020/wheres-the-iphone-mime-type-database +*/ - (NSString *)guessMIMETypeFromFileName: (NSString *)fileName { CFStringRef UTI = UTTypeCreatePreferredIdentifierForTag(kUTTagClassFilenameExtension, (__bridge CFStringRef)[fileName pathExtension], NULL); CFStringRef MIMEType = UTTypeCopyPreferredTagWithClass(UTI, kUTTagClassMIMEType); @@ -149,9 +147,9 @@ - (NSString *)guessMIMETypeFromFileName: (NSString *)fileName { [request setHTTPBody: httpBody]; // I am sorry about warning, but Upload tasks from NSData are not supported in background sessions. - uploadTask = [[self urlSession:thisUploadId] uploadTaskWithRequest:request fromData: nil]; + uploadTask = [[self urlSession] uploadTaskWithRequest:request fromData: nil]; } else { - uploadTask = [[self urlSession:thisUploadId] uploadTaskWithRequest:request fromFile:[NSURL URLWithString: fileURI]]; + uploadTask = [[self urlSession] uploadTaskWithRequest:request fromFile:[NSURL URLWithString: fileURI]]; } uploadTask.taskDescription = customUploadId ? customUploadId : [NSString stringWithFormat:@"%i", thisUploadId]; @@ -206,10 +204,10 @@ - (NSData *)createBodyWithBoundary:(NSString *)boundary return httpBody; } -- (NSURLSession *)urlSession: (int) thisUploadId{ - if(_urlSession == nil) { - NSURLSessionConfiguration *sessionConfigurationt = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:BACKGROUND_SESSION_ID]; - _urlSession = [NSURLSession sessionWithConfiguration:sessionConfigurationt delegate:self delegateQueue:nil]; +- (NSURLSession *)urlSession { + if (_urlSession == nil) { + NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:BACKGROUND_SESSION_ID]; + _urlSession = [NSURLSession sessionWithConfiguration:sessionConfiguration delegate:self delegateQueue:nil]; } return _urlSession; } From 3d29d36e3bcbbbc4f213bc63d7ef45b315c95f10 Mon Sep 17 00:00:00 2001 From: Stephen Poter Date: Fri, 2 Feb 2018 11:56:22 -0500 Subject: [PATCH 2/2] version bump --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e8aec2e3..e914fbc9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-background-upload", - "version": "4.1.0", + "version": "4.2.0", "description": "Cross platform http post file uploader with android and iOS background support", "main": "index.js", "scripts": {