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

Xcode 15构建React Native应用遇Undefined Symbols链接错误求助

解决Xcode 15构建React Native时x86_64架构未定义符号链接错误

以下是针对该链接错误的具体解决步骤:

1. 彻底清理缓存并重新构建

执行以下命令清理iOS侧依赖与缓存:

cd ios
pod deintegrate
pod clean
rm -rf ~/Library/Caches/CocoaPods
rm -rf Pods Podfile.lock
pod install

随后在Xcode中执行Product -> Clean Build Folder(快捷键Cmd+Shift+K),重启Xcode后重新构建项目。

2. 配置Podfile适配x86_64架构

在Podfile末尾添加以下post_install脚本,确保所有Pod都支持模拟器的x86_64架构:

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      # 针对模拟器强制指定x86_64架构
      config.build_settings['ARCHS[sdk=iphonesimulator*]'] = 'x86_64'
      # 关闭仅激活当前架构的限制
      config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
    end
  end
end

添加完成后重新执行pod install。

3. 检查Xcode项目链接器与架构设置

  • 选中项目Target → Build Settings → Linking → Other Linker Flags,确保添加了-ObjC(静态库依赖必须开启,否则无法正确链接Objective-C类)。
  • 进入Build Settings → Architectures,确认Debug模式下的Architectures包含x86_64,Valid Architectures也需包含该架构。

4. 验证依赖版本兼容性

  • 确认React Native版本适配Xcode 15:推荐使用0.72及以上版本,低版本可能存在Xcode 15兼容性问题。
  • 升级相关依赖到最新稳定版:比如AppCenter、Flipper、MLKit等,这些库的新版本通常修复了Xcode 15的适配问题。如果暂时不需要Flipper,可以直接注释掉AppDelegate中Flipper相关代码,同时在Podfile中移除Flipper的配置,简化构建流程。

5. 检查AppDelegate代码的正确性

  • 确保AppDelegate中引用的所有Objective-C类都已正确导入头文件,例如:
    #import <AppCenterReactNative.h>
    #import <AppCenterReactNativeAnalytics.h>
    #import <AppCenterReactNativeCrashes.h>
    #import <FlipperKit/FlipperClient.h>
    #import <ReactNativeNavigation/ReactNativeNavigation.h>
    
  • 确认Podfile中已正确声明这些依赖,比如AppCenter的Pod配置:
    pod 'AppCenterReactNativeShared'
    pod 'AppCenterReactNativeAnalytics'
    pod 'AppCenterReactNativeCrashes'
    

6. 针对MLKit相关符号的额外处理

MLKit依赖的Google相关库(如GoogleUtilities、GTM)常出现链接问题,可尝试:

  • 删除Podfile.lock后重新执行pod install,确保所有依赖版本匹配。
  • 确认Podfile中MLKit的引入完整,例如使用pod 'MLKitVision'时,相关的依赖会自动拉取,无需手动添加子库。

错误详情

Undefined symbols for architecture x86_64:
"_GULLogBasic", referenced from:
_MLKLog in MLKitCommon[x86_64]7
"_OBJC_CLASS$_AppCenterReactNative", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_AppCenterReactNativeAnalytics", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_AppCenterReactNativeCrashes", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_FKUserDefaultsPlugin", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_FlipperClient", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_FlipperKitLayoutPlugin", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_FlipperKitNetworkPlugin", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_FlipperKitReactPlugin", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_GDTCORTransport", referenced from:
in MLKitCommon[x86_64]6
"_OBJC_CLASS$_GTMLogMininumLevelFilter", referenced from:
in MLKitCommon[x86_64]200
"_OBJC_CLASS$_GTMLogger", referenced from:
in MLKitCommon[x86_64]26
_OBJC_CLASS$_MLKITx_GIPLoggingReroutingGTMLogger in MLKitCommon[x86_64]200
"_OBJC_CLASS$_GTMSessionCookieStorage", referenced from:
in MLKitCommon[x86_64]26
"_OBJC_CLASS$_GTMSessionFetcher", referenced from:
in MLKitCommon[x86_64]26
"_OBJC_CLASS$_GTMSessionFetcherService", referenced from:
in MLKitCommon[x86_64]18
"_OBJC_CLASS$_GULCCComponent", referenced from:
in MLKitCommon[x86_64]11
"_OBJC_CLASS$_GULCCComponentContainer", referenced from:
in MLKitCommon[x86_64]3
"_OBJC_CLASS$_GULCCComponentType", referenced from:
in MLKitCommon[x86_64]3
"_OBJC_CLASS$_GULUserDefaults", referenced from:
in MLKitCommon[x86_64]2
"_OBJC_CLASS$_RCTBundleURLProvider", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_RCTLinkingManager", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_ReactNativeNavigation", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_SKDescriptorMapper", referenced from:
in AppDelegate.o
"_OBJC_CLASS$_SKIOSNetworkAdapter", referenced from:
in AppDelegate.o
"_OBJC_METACLASS$_GTMLogger", referenced from:
_OBJC_METACLASS$_MLKITx_GIPLoggingReroutingGTMLogger in MLKitCommon[x86_64]200
"_kGTMSessionFetcherStatusDomain", referenced from:
___69-[MLKModelDownloader beginModelDownloadWithURL:modelInfo:conditions:]_block_invoke.285 in MLKitCommon[x86_64]18
___150-[MLKITx_PHTHeterodyneSyncer batchSyncWithAccounts:syncedScopes:fetchReason:throttlingCache:heterodyneSyncInfo:accountToAuthToken:lastError:callback:]_block_invoke in MLKitCommon[x86_64]48
___91-[MLKITx_PHTInternalHeterodyneSyncer syncHoldingLockWithSyncedScopes:fetchReason:callback:]_block_invoke in MLKitCommon[x86_64]51
___63-[MLKITx_GMVCloudVisionClient initWithCloudUri:apiKey:options:]_block_invoke in MLKitVision[x86_64]7
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 13:13:09