React Native 0.79.3无桥接架构下实现原生Counter模块时RCTTurboModule找不到的问题求助
React Native 0.79.3无桥接架构下实现原生Counter模块时RCTTurboModule找不到的问题求助
各位React Native大佬好!我最近在React Native 0.79.3的无桥接架构下尝试实现一个原生Counter模块,折腾了好几天,一直卡在RCTTurboModule not found的错误上,实在没辙了来求助大家!
问题详情
我想做一个支持增减计数、获取初始值的原生iOS模块,按照官方文档的思路写了代码,但编译运行时始终提示找不到RCTTurboModule,无法正常构建。
我的实现代码
iOS Swift模块(Counter.swift)
import Foundation import React @objc(Counter) class Counter: NSObject, RCTTurboModule { private var count = 0 @objc var bridge: RCTBridge! @objc func increment(_ resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) { count += 1 resolve(count) } @objc func decrement(_ resolve: RCTPromiseResolveBlock, rejecter reject: RCTPromiseRejectBlock) { if count == 0 { let error = NSError(domain: "CounterErrorDomain", code: 200, userInfo: [NSLocalizedDescriptionKey: "Cannot decrement below zero"]) reject("ERROR_COUNT", "count cannot be negative", error) } else { count -= 1 resolve(count) } } @objc func getInitialCount() -> Int { return 0 } }
TypeScript接口定义(NativeCounter.ts)
import { TurboModule, TurboModuleRegistry } from 'react-native'; export interface Spec extends TurboModule { increment(): Promise<number>; decrement(): Promise<number>; getInitialCount(): number; } export default TurboModuleRegistry.getEnforcing<Spec>('Counter');
桥接头文件(counterApp-Bridging-Header.h)
#import <React/RCTBridgeModule.h> #import <React/RCTTurboModule.h>
遇到的错误
RCTTurboModule not found
已尝试的排查操作
我已经试过以下方法,但都没解决问题:
- 彻底清理缓存并重新安装依赖:
cd ios rm -rf ~/Library/Caches/CocoaPods rm -rf Pods rm -rf ~/Library/Developer/Xcode/DerivedData pod deintegrate pod setup pod install - 在Podfile中手动添加TurboModule依赖:
pod 'React-RCTTurboModule', :path => '../node_modules/react-native/Libraries/TurboModule' - 确认版本兼容性:
- React Native: 0.79.3
- Xcode: 16.2
- CocoaPods: 1.14.3
我的疑问
- 在RN 0.79的无桥接模式下,
RCTTurboModule还是正确的实现协议吗?会不会已经有新的替代接口了? - 我的模块代码里有没有遗漏的必要配置或者实现细节?
- 是否需要额外引入其他头文件才能让Xcode识别
RCTTurboModule?
内容来源于stack exchange
相关产品推荐
相关产品推荐

