You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native 0.68 AppDelegate.mm报NfcManager未声明标识符错误

React Native 0.68 AppDelegate.mm中调用NfcManager报未声明标识符错误

问题表现

开发React Native 0.68版本应用时,在Objective-C++格式的AppDelegate.mm文件内调用react-native-nfc-manager依赖提供的NfcManager模块,编译时抛出错误:
Use of undeclared identifier "NfcManager"

背景信息

  • 同一套业务逻辑在React Native 0.64版本的Objective-C格式AppDelegate.m文件中可正常编译运行
  • 因不熟悉C/C++语法,曾尝试将NfcManager.m重命名为.mm后缀,问题未得到解决

关联代码片段

// AppDelegate.mm
- (BOOL)application:(UIApplication *)application
continueUserActivity:(nonnull NSUserActivity *)userActivity
restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {

    [NfcManager application:application
            continueUserActivity:userActivity
            restorationHandler:restorationHandler];  // 报错触发位置
    // 其余业务逻辑
}

// NfcManager.h
@interface NfcManager : RCTEventEmitter <RCTBridgeModule> { ... }

// NfcManager.m
@implementation NfcManager { ... }

解决方法

React Native 0.68版本的头文件引入逻辑和0.64及更早版本存在差异:旧版本直接在AppDelegate.m中引入NfcManager.h即可正常调用类方法,0.68版本需要将NfcManager.h的导入语句写在AppDelegate.h文件中,而非AppDelegate.mm文件内,修改后即可消除该编译报错,无需调整NfcManager相关文件的后缀名。


内容的提问来源于stack exchange,提问作者Tulerau

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 18:18:27