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

React Native项目Xcode归档报错:No matching function for call to 'RCTAppSetupPrepareApp'

解决Xcode14.2归档React Native 0.71.7时RCTAppSetupPrepareApp报错问题

这个报错是因为AppDelegate中RCTAppSetupPrepareApp函数的调用签名与React Native 0.71.x的要求不匹配,或是缓存、配置冲突导致的,以下是可行的解决步骤:

1. 修复AppDelegate中的函数调用

React Native 0.71.x的RCTAppSetupPrepareApp要求必须传入应用实例和配置block,检查你的AppDelegate.mm(或.m)文件,确保调用格式正确:

#import "AppDelegate.h"
#import <React/RCTAppSetupUtils.h>
// 其他必要import

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
  RCTAppSetupPrepareApp(application, ^(RCTAppSetupBuilder *builder) {
    // 若无需额外配置,此处可留空,但block必须存在
    // 示例配置:builder.moduleName = @"YourAppName";
  });

  // 其他原有代码
  return YES;
}

@end

如果之前的调用缺少block参数,补上即可解决签名不匹配的问题。

2. 清理缓存并重新构建

缓存冲突也可能引发这类编译错误,执行以下操作:

  • Xcode中依次执行:Cmd+Shift+K清理构建产物,Cmd+Option+Shift+K清除构建文件夹
  • 终端中运行RN缓存清理命令:
    rm -rf node_modules
    npm install
    cd ios && pod install --repo-update
    cd ..
    npx react-native clean
    

3. 检查Xcode配置

  • 确认Xcode项目的Deployment Target设置为iOS 11.0或更高版本(React Native 0.71.x的最低要求)
  • 检查Build Settings中的Other C Flags和Other Linker Flags,确保没有错误的自定义配置,若不确定可暂时重置为RN默认配置

4. 切换AppDelegate文件类型

React Native 0.71.x默认使用.mm文件(支持Objective-C++混编),如果你的AppDelegate是.m格式,尝试将其重命名为.mm,并确保Xcode中文件类型识别正确。

完成以上步骤后,先尝试在Xcode中运行项目确认无编译错误,再执行Archive操作即可正常完成归档。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 10:45:28