From c08f02dd66477b4ed002c4bb9ed88e19584746aa Mon Sep 17 00:00:00 2001 From: Rupen Patel Date: Tue, 9 Jun 2026 12:11:34 -0500 Subject: [PATCH] fix(ios): change BOOL* to BOOL in stop/pause to fix RN bridge marshalling crash The RN bridge cannot marshal a JS boolean to BOOL* (pointer type). Change both stop: and pause: RCT_EXPORT_METHOD params from (BOOL *) to (BOOL) and simplify the null-pointer guard to a plain boolean check. Fixes: TextToSpeech.stop(): Error while converting JavaScript argument 0 to Objective C type BOOL. Objective C type BOOL is unsupported. --- ios/TextToSpeech/TextToSpeech.m | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/ios/TextToSpeech/TextToSpeech.m b/ios/TextToSpeech/TextToSpeech.m index 1e769cc..cd2ba28 100644 --- a/ios/TextToSpeech/TextToSpeech.m +++ b/ios/TextToSpeech/TextToSpeech.m @@ -94,11 +94,11 @@ + (BOOL)requiresMainQueueSetup resolve([NSNumber numberWithUnsignedLong:utterance.hash]); } -RCT_EXPORT_METHOD(stop:(BOOL *)onWordBoundary resolve:(RCTPromiseResolveBlock)resolve reject:(__unused RCTPromiseRejectBlock)reject) +RCT_EXPORT_METHOD(stop:(BOOL)onWordBoundary resolve:(RCTPromiseResolveBlock)resolve reject:(__unused RCTPromiseRejectBlock)reject) { AVSpeechBoundary boundary; - if(onWordBoundary != NULL && onWordBoundary) { + if(onWordBoundary) { boundary = AVSpeechBoundaryWord; } else { boundary = AVSpeechBoundaryImmediate; @@ -109,11 +109,11 @@ + (BOOL)requiresMainQueueSetup resolve([NSNumber numberWithBool:stopped]); } -RCT_EXPORT_METHOD(pause:(BOOL *)onWordBoundary resolve:(RCTPromiseResolveBlock)resolve reject:(__unused RCTPromiseRejectBlock)reject) +RCT_EXPORT_METHOD(pause:(BOOL)onWordBoundary resolve:(RCTPromiseResolveBlock)resolve reject:(__unused RCTPromiseRejectBlock)reject) { AVSpeechBoundary boundary; - if(onWordBoundary != NULL && onWordBoundary) { + if(onWordBoundary) { boundary = AVSpeechBoundaryWord; } else { boundary = AVSpeechBoundaryImmediate;