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

安装Google Maps SDK后iOS项目编译失败求助

集成Google Maps API时x86_64架构链接错误解决方法

问题描述

在集成Google Maps API过程中,已创建新项目并安装Google Maps pod,打开xcworkspace编译项目时出现以下链接错误:

Ld /Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Products/Debug-iphonesimulator/GoogleMapTest2.app/GoogleMapTest2 normal x86_64 (in target 'GoogleMapTest2' from project 'GoogleMapTest2')
    cd /Users/nxgen/Documents/GoogleMapTest2
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -target x86_64-apple-ios13.7-simulator -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator13.7.sdk -L/Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Products/Debug-iphonesimulator -F/Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Products/Debug-iphonesimulator -F/Users/nxgen/Documents/GoogleMapTest2/Pods/GoogleMaps/Base/Frameworks -F/Users/nxgen/Documents/GoogleMapTest2/Pods/GoogleMaps/Maps/Frameworks -filelist /Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Intermediates.noindex/GoogleMapTest2.build/Debug-iphonesimulator/GoogleMapTest2.build/Objects-normal/x86_64/GoogleMapTest2.LinkFileList -Xlinker -rpath -Xlinker @executable_path/Frameworks -Xlinker -rpath -Xlinker @loader_path/Frameworks -Xlinker -rpath -Xlinker @executable_path/Frameworks -dead_strip -Xlinker -object_path_lto -Xlinker /Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Intermediates.noindex/GoogleMapTest2.build/Debug-iphonesimulator/GoogleMapTest2.build/Objects-normal/x86_64/GoogleMapTest2_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -fobjc-link-runtime -L/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator -L/usr/lib/swift -Xlinker -add_ast_path -Xlinker /Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Intermediates.noindex/GoogleMapTest2.build/Debug-iphonesimulator/GoogleMapTest2.build/Objects-normal/x86_64/GoogleMapTest2.swiftmodule -ObjC -lc++ -lz -framework Accelerate -framework CoreData -framework CoreGraphics -framework CoreImage -framework CoreLocation -framework CoreTelephony -framework CoreText -framework GLKit -framework GoogleMaps -framework GoogleMapsBase -framework GoogleMapsCore -framework ImageIO -framework Metal -framework OpenGLES -framework QuartzCore -framework SystemConfiguration -framework UIKit -Xlinker -sectcreate -Xlinker __TEXT -Xlinker __entitlements -Xlinker /Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Intermediates.noindex/GoogleMapTest2.build/Debug-iphonesimulator/GoogleMapTest2.build/GoogleMapTest2.app-Simulated.xcent -framework Pods_GoogleMapTest2 -Xlinker -dependency_info -Xlinker /Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Intermediates.noindex/GoogleMapTest2.build/Debug-iphonesimulator/GoogleMapTest2.build/Objects-normal/x86_64/GoogleMapTest2_dependency_info.dat -o /Users/nxgen/Library/Developer/Xcode/DerivedData/GoogleMapTest2-dvqnpyvsumrrzbfpshbwaiyutzip/Build/Products/Debug-iphonesimulator/GoogleMapTest2.app/GoogleMapTest2

Undefined symbols for architecture x86_64:
  "_CTRadioAccessTechnologyNRNSA", referenced from:
      ___GMSCellNetworkTypeForRadioType_block_invoke in GoogleMaps
  "_CTRadioAccessTechnologyNR", referenced from:
      ___GMSCellNetworkTypeForRadioType_block_invoke in GoogleMaps
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Undefined symbol: _CTRadioAccessTechnologyNRNSA
Undefined symbol: _CTRadioAccessTechnologyNR

解决方案

这些未定义的符号属于CoreTelephony框架,但编译命令已包含该框架,问题核心是iOS版本兼容性:

  • _CTRadioAccessTechnologyNR和_CTRadioAccessTechnologyNRNSA是iOS 14.0才引入的5G相关常量
  • 当前使用的是iOS 13.7模拟器SDK,无法找到这些符号

可通过以下三种方法解决:

方法1:升级iOS SDK版本

  • 打开Xcode,将项目的Deployment Target设置为iOS 14.0或更高版本
  • 切换到iOS 14.0+的模拟器进行编译

方法2:调整链接器选项

若需保留iOS 13.7的部署目标,按以下步骤操作:

  • 打开项目的Build Settings
  • 搜索Other Linker Flags
  • 添加-weak_framework CoreTelephony,告知链接器CoreTelephony为弱引用框架,缺失符号时不会触发报错

方法3:降级Google Maps SDK版本

若不想升级iOS版本,可降级到不依赖5G符号的Google Maps SDK版本:

  • 修改Podfile,指定较低版本的Google Maps,例如:
    pod 'GoogleMaps', '~> 5.0'
    
  • 执行pod install --repo-update更新依赖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:48:19