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

集成Google Mobile Ads SDK遇未定义符号及链接错误求助

关于Google-Mobile-Ads-SDK的链接错误排查与解决

多次移除并更新仓库、重装Pods后,仍持续遇到链接错误。完全移除Google Mobile Ads后项目可正常编译,但重新添加后立即报错,甚至创建全新项目仅引入该Pod也无法正常编译。

原有项目错误日志

ld: Undefined symbols:
  _kGADErrorDomain, referenced from:
      -[GADMAdapterAppfireworks getInterstitial] in AdapterAppTracker.a[arm64][2](GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks getInterstitial] in AdapterAppTracker.a[arm64][2](GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks getBannerWithSize:] in AdapterAppTracker.a[arm64][2](GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks onModuleFailed:error:cached:] in AdapterAppTracker.a[arm64][2](GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks onModuleFailed:error:cached:] in AdapterAppTracker.a[arm64][2](GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks setUp] in AdapterAppTracker.a[arm64][2](GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks setUp] in AdapterAppTracker.a[arm64][2](GADMAdapterAppfireworks.o)

Podfile片段

platform :ios, '14.0'

use_frameworks!

target 'CDLPractice' do
  # Comment the next line if you're not using Swift and don't want to use dynamic frameworks

  # Pods for CDLPractice
  pod 'Google-Mobile-Ads-SDK'
  pod 'Firebase/Core'
  pod 'FirebaseCrashlytics'
  pod 'Firebase/Database', '~> 7.0.0'
  pod 'Firebase/Performance'
  pod 'Firebase/RemoteConfig'
  pod 'Firebase/Storage'
  pod 'FirebaseAnalytics'
  pod 'SwiftLint'
  pod 'ZendeskChatSDK'
  pod 'MBCircularProgressBar'
  pod 'OneSignalXCFramework', '>= 3.0.0', '< 4.0'

end

重新添加Google Mobile Ads后的错误日志

Undefined symbols for architecture arm64:
  "_kGADErrorDomain", referenced from:
      -[GADMAdapterAppfireworks getInterstitial] in AdapterAppTracker(GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks getBannerWithSize:] in AdapterAppTracker(GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks onModuleFailed:error:cached:] in AdapterAppTracker(GADMAdapterAppfireworks.o)
      -[GADMAdapterAppfireworks setUp] in AdapterAppTracker(GADMAdapterAppfireworks.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (us

全新项目仅引入Google-Mobile-Ads-SDK的错误日志

ld: warning: search path '/Users/douglaspalme/Library/Developer/Xcode/DerivedData/rTest-cgwpukuijruepmhdmeuupomktnaq/Build/Products/Debug-iphonesimulator/GoogleUtilities' not found
ld: warning: search path '/Users/douglaspalme/Library/Developer/Xcode/DerivedData/rTest-cgwpukuijruepmhdmeuupomktnaq/Build/Products/Debug-iphonesimulator/PromisesObjC' not found
ld: warning: search path '/Users/douglaspalme/Library/Developer/Xcode/DerivedData/rTest-cgwpukuijruepmhdmeuupomktnaq/Build/Products/Debug-iphonesimulator/nanopb' not found
ld: warning: search path '/Users/douglaspalme/Library/Developer/Xcode/DerivedData/rTest-cgwpukuijruepmhdmeuupomktnaq/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/Google-Mobile-Ads-SDK' not found
ld: warning: search path '/Users/douglaspalme/Library/Developer/Xcode/DerivedData/rTest-cgwpukuijruepmhdmeuupomktnaq/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/AdIdSupport' not found
ld: warning: search path '/Users/douglaspalme/Library/Developer/Xcode/DerivedData/rTest-cgwpukuijruepmhdmeuupomktnaq/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/GoogleAppMeasurement/WithoutAdIdSupport' not found
ld: warning: search path '/Users/douglaspalme/Library/Developer/Xcode/DerivedData/rTest-cgwpukuijruepmhdmeuupomktnaq/Build/Products/Debug-iphonesimulator/XCFrameworkIntermediates/GoogleUserMessagingPlatform' not found
ld: framework 'FBLPromises' not found
clang: error: linker command failed with exit code 1 (use -v to see invocation)

解决方案

  • 彻底清理Pod相关缓存与文件:
    pod cache clean --all
    rm -rf ~/Library/Caches/CocoaPods
    rm -rf Pods
    rm Podfile.lock
    
  • 更新CocoaPods到最新稳定版:
    gem install cocoapods
    
  • 修复_kGADErrorDomain未定义问题:
    • 在Podfile中指定Google-Mobile-Ads-SDK的稳定版本,例如:
      pod 'Google-Mobile-Ads-SDK', '~> 11.0'
      
    • 检查项目目录,手动移除所有非通过Pod引入的AdapterAppTracker.a或相关静态库文件
  • 解决全新项目的FBLPromises找不到问题:
    • 执行pod deintegrate彻底移除现有Pod集成,再重新执行pod install
    • 打开Xcode,检查项目Build Settings中的Framework Search Paths,确保包含$(inherited)配置
    • 删除Xcode的DerivedData目录:
      rm -rf ~/Library/Developer/Xcode/DerivedData
      

内容的提问来源于stack exchange,提问作者Douglas W. Palme

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:13:19