NSURLSesión: no se pudo comunicar con el service de transferencia de background

Al intentar crear un NSURLSessionUploadTask utilizando AFNetworkings AFURLSessionManager en una extensión compartida, sigo recibiendo un error. El delegado de la session sigue siendo llamado para

- (void)URLSession:(NSURLSession *)session didBecomeInvalidWithError:(NSError *)error

Con el error

Error Domain=NSURLErrorDomain Code=-996 "Could not communicate with background transfer service" UserInfo=0x60800007a6c0 {NSLocalizedDescription=Could not communicate with background transfer service}

Esto sucede si la aplicación tiene una session y luego la extensión de recurso intenta realizar una session. Para iniciar la session hago lo siguiente tanto en la aplicación como en la extensión compartida.

 NSURLSessionConfiguration* config = [NSURLSessionConfiguration backgroundSessionConfigurationWithIdentifier:kSHARE_UPLOAD_SESSION]; config.shanetworkingContainerIdentifier = kAPP_GROUP; self.sessionManager = [[AFURLSessionManager alloc] initWithSessionConfiguration:config]; self.sessionManager.attemptsToRecreateUploadTasksForBackgroundSessions = YES; 

Debe usar un "Identificador" diferente (kSHARE_UPLOAD_SESSION) para la aplicación principal y la extensión. Al parecer, no puede tener 2 NSURLSession con el mismo identificador en ejecución al mismo time. Sin embargo, debes mantener el mismo grupo (kAPP_GROUP)