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

React Native调试构建报错:'OneSignal/OneSignal.h'文件未找到

解决React Native调试构建时OneSignal头文件找不到的问题

针对Sonoma 14.3 + Xcode 15.2 + React Native 0.72.10环境下,仅调试构建(模拟器)出现'OneSignal/OneSignal.h'文件未找到的问题,可尝试以下方案:

  • 检查并更新OneSignal依赖
    确认Podfile中OneSignal版本适配Xcode 15,React Native 0.72.x建议使用>=5.0.0的版本(旧版本可能不兼容Xcode 15的头文件搜索逻辑)。执行以下命令清理并重新安装依赖:

    pod deintegrate
    pod install --repo-update
    

    同时检查Podfile是否存在调试环境下的特殊配置,避免遗漏OneSignal的导入。

  • 统一Xcode头文件搜索路径
    打开Xcode项目,选中主工程目标,进入Build Settings:

    1. 搜索Header Search Paths
    2. 确保调试(Debug)配置下包含OneSignal的头文件路径,例如$(SRCROOT)/../node_modules/react-native-onesignal/ios,并设置为recursive
    3. 对比生产(Release)配置的路径,保证调试配置与生产配置一致
  • 修复Xcode 15模块映射问题
    Xcode 15对模块映射的处理逻辑有变化,可通过两种方式修复:

    1. 手动创建模块映射文件:在Pods/OneSignal/iOS_SDK/OneSignalSDK/Framework/OneSignal.framework/Modules路径下新建module.modulemap,内容如下:
      framework module OneSignal {
        umbrella header "OneSignal.h"
        export *
        module * { export * }
      }
      
    2. 通过Pod钩子自动配置:在Podfile末尾添加post_install钩子:
      post_install do |installer|
        installer.pods_project.targets.each do |target|
          if target.name == 'OneSignal'
            target.build_configurations.each do |config|
              config.build_settings['CLANG_MODULES_AUTOLINK'] = 'YES'
            end
          end
        end
      end
      

    添加后重新执行pod install。

  • 清理Xcode缓存与构建产物
    执行以下操作彻底清理缓存:

    rm -rf ~/Library/Developer/Xcode/DerivedData
    

    在Xcode中依次执行Cmd+Shift+K(清理构建)、Cmd+Option+Shift+K(清理构建文件夹),重启Xcode和模拟器后重新尝试调试构建。

  • 检查AppDelegate导入逻辑
    查看AppDelegate.m或AppDelegate.mm文件,确认OneSignal的导入语句没有被条件编译宏(如#ifdef RELEASE)限制,确保调试环境下也能正常导入头文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 10:22:08