Im Singleton verantwortlich für Netzwerk, erstelle ich eine Instanz von Antriebsservice:Weiter Upload mit GTLServiceTicket im Hintergrund
self.service = [[GTLServiceDrive alloc] init];
[self.service setShouldFetchInBackground:YES];
Irgendwann habe ich ein Ticket erstellen die angegebene Datei zu laden:
GTLUploadParameters *uploadParameters = [GTLUploadParameters uploadParametersWithFileHandle:fileHandle MIMEType:kGDriveMimeType];
GTLDriveFile *newFile = [GTLDriveFile object];
newFile.title = @"123";
// keep the file inside event folder
GTLDriveParentReference *parentFolder = [GTLDriveParentReference object];
parentFolder.identifier = parentFolderId;
newFile.parents = @[parentFolder];
GTLQueryDrive *uploadQuery = [GTLQueryDrive queryForFilesInsertWithObject:newFile uploadParameters:uploadParameters];
GTLServiceTicket *serviceTicket = [self.service executeQuery:uploadQuery completionHandler:^(GTLServiceTicket *ticket, GTLDriveFile *uploadedFile, NSError *uploadError) {
if (completionHandler) {
completionHandler(uploadedFile, uploadError);
}
}];
[serviceTicket setUploadProgressBlock:^(GTLServiceTicket *ticket, unsigned long long numberOfBytesRead, unsigned long long dataLength) {
CGFloat progress = (CGFloat)numberOfBytesRead/(CGFloat)dataLength;
if (progressHandler) {
progressHandler(progress);
}
}];
Das ganze Problem ist, dass, wenn ich Daten unter Verwendung GTMHTTPFetcher
herunterladen, die Arbeit im Hintergrund fortgesetzt wird. Beim Hochladen mit GTLServiceTicket
wird es angehalten, während sich die App im Hintergrund befindet. Ich kann keine Eigenschaft finden, die es im Hintergrund woking macht. Fehle ich etwas? Wie es geht?