RPScreenRecorder startCapture вне приложения - PullRequest
0 голосов
/ 25 октября 2019

Я создаю собственный модуль реагирования, чтобы иметь возможность передавать то, что пользователь делает со своим телефоном. Работает идеально для Android. Для iOS это потоковое, когда в приложении, но когда я покидаю приложение, захват останавливается

RCT_REMAP_METHOD(start,
                 startWithResolver:(RCTPromiseResolveBlock)resolve
                 rejecter:(RCTPromiseRejectBlock)reject)
{
  NSMutableDictionary *result = [[NSMutableDictionary alloc] init];
  [result setObject:@true forKey:@"success"];
  if (@available(iOS 11.0, *)) {
    if([RPScreenRecorder.sharedRecorder isRecording]) {
      return resolve(result);
    }
    [RPScreenRecorder.sharedRecorder startCaptureWithHandler:^(CMSampleBufferRef  _Nonnull sampleBuffer, RPSampleBufferType bufferType, NSError * _Nullable error) {

      dispatch_sync(dispatch_get_main_queue(), ^{
        if(bufferType == RPSampleBufferTypeVideo) {
          NSString *strEncoded = [self imageFromSampleBuffer:sampleBuffer];
          [self sendEventWithName:@"ImageCaptured" body:@{@"image": strEncoded}];
        }
      });

    } completionHandler:^(NSError * _Nullable error) {
      if(error == NULL) return resolve(result);
      reject(@"fail_capture_start", @"Failed to start screen capture", error);
    }];
  } else {
    [result setObject:@false forKey:@"success"];
    [result setObject:@"Please upgrade your phone to version 11" forKey:@"message"];
    resolve(result);
  };
}

Я не могу найти, как продолжать работать RPScreenRecorder.sharedRecorder startCaptureWithHandler, когда приложение находится в фоновом режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...