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

React Native应用发布:Xcode构建成功但归档失败(错误码1)

解决React Native Archive时出现的ld: 513 duplicate symbols for architecture arm64错误

我帮不少React Native开发者解决过这个Archive阶段的重复符号错误,尤其是用.xcworkspace的场景,基本都是依赖或配置重复导致的,给你几个按优先级尝试的方案:

  • 检查并重建CocoaPods依赖
    这种错误最常见的原因就是Pods重复安装或依赖冲突。先打开你的Podfile,确认没有重复声明的库(比如某个第三方库既通过React Native自动引入,又手动在Podfile里添加了)。然后执行以下命令彻底清理并重建Pods:

    cd ios
    pod deintegrate
    rm -rf Podfile.lock
    pod install
    

    完成后重新打开.xcworkspace再尝试Archive。

  • 排查Build Phases里的重复文件
    打开Xcode的.xcworkspace,进入项目Target的Build Phases:

    • 查看Compile Sources,有没有重复添加的.m/.cpp文件,尤其是第三方库的源码文件,删掉重复条目;
    • 查看Link Binary With Libraries,有没有重复引入的静态库(比如.a格式的文件),移除重复项。
  • 定位第三方库冲突
    如果你最近新增了React Native第三方库,很可能是它和现有库依赖了相同的iOS原生库,导致重复符号。可以临时移除最近添加的库,重新构建后尝试Archive,以此定位问题库。找到后去该库的GitHub Issues看看,通常作者会给出解决方案,比如指定特定依赖版本,或者通过Podfile的pod exclude排除重复的子库。

  • 开启Dead Code Stripping
    进入Xcode Target的Build Settings,找到Dead Code Stripping,把Debug和Release模式都设为YES。这个选项会让链接器自动移除未被使用的代码,有时候能规避重复符号的冲突。

  • 彻底清理缓存
    缓存堆积也可能导致这类奇怪的链接错误,执行以下命令清理:

    # 清理Xcode派生数据缓存
    rm -rf ~/Library/Developer/Xcode/DerivedData
    # 清理React Native缓存
    npx react-native clean
    

    清理完成后重新构建项目,再尝试Archive操作。

  • 检查架构配置
    确保项目Target的Build Settings里:

    • Architectures只保留arm64(如果是仅打包iOS设备的话);
    • Valid Architectures和Architectures保持一致,不要混合不同架构的配置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:25:15