React-Native Obj c Bridge EXC_BAD_ADDRESS, код 2 - PullRequest
0 голосов
/ 05 августа 2020

Есть бридж React-Native. Birdge начинается с этого блока кода

static RCTPromiseResolveBlock SCANNER_RESOLVER = nil;
static RCTPromiseRejectBlock SCANNER_REJECTER = nil;
@implementation AppDelegate

RCT_EXPORT_MODULE(Scanner);

RCT_REMAP_METHOD(scan,
                 resolver:(RCTPromiseResolveBlock)resolve
                 rejecter:(RCTPromiseRejectBlock)reject)
{
  dispatch_async(dispatch_get_main_queue(), ^{
  SCANNER_RESOLVER=resolve;
  SCANNER_REJECTER=reject;
  
  UIViewController *vc = [UIStoryboard storyboardWithName:@"WeScanStoryBoard" bundle:nil].instantiateInitialViewController;
    
  [[UIApplication sharedApplication].delegate.window.rootViewController presentViewController:vc animated:YES completion:nil];
  
  });
}

У меня есть раскадровка на Swift. Я отправляю данные из swift в obj- c appdelegate.

   if let appDelegate = UIApplication.shared.delegate as? AppDelegate {
      let image:UIImage = results.croppedScan.image;
      let strBase64 = image.jpegData(compressionQuality: 1)?.base64EncodedString() ?? "";
      appDelegate.sendBase64Image(strBase64);
    }

После этого я ловлю там строку base64

- (void)sendBase64Image:(NSString *)base64 {
  NSLog(base64);
  NSLog(test);
  SCANNER_RESOLVER(base64);
}

Все в порядке, но ... SCANNER_RESOLVER выбросить исключение. Код EXC_BAD_ACCESS 2

Когда я запускаю SCANNER_RESOLVER на RCT_REMAP_METHOD, я никогда не получал ошибки. Но когда я использую его в этой функции, я получаю ошибку. Не знаю, почему и в чем моя ошибка.

...