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

SwiftUI手动安装GoogleMaps SDK后出现编译链接错误求助

解决SwiftUI项目手动集成Google Maps SDK的编译问题

1. 补全缺失的x86_64架构

Google Maps iOS SDK官方手动安装包默认包含arm64(真机)和x86_64(模拟器)两种架构,若你的框架仅识别到arm64,大概率是包损坏或下载了不完整版本:

  • 重新下载官方完整SDK包,解压后确认GoogleMaps.framework、GoogleMapsBase.framework等核心文件均包含双架构
  • 验证架构:打开终端进入框架目录,执行命令:
    lipo -info GoogleMaps.framework/GoogleMaps
    
    正常输出应同时显示arm64和x86_64,若仅存在arm64则需重新下载。

2. 修复链接符号缺失问题

Undefined symbol: _OBJC_CLASS_$_GMSCameraPosition这类错误属于链接阶段未正确引入依赖,按以下步骤排查:

  • 确认所有依赖框架已添加到项目:GoogleMaps、GoogleMapsBase、GoogleMapsCore,且在Xcode的Target -> General -> Frameworks, Libraries, and Embedded Content中,将这些框架的Embed选项设为Embed & Sign
  • 检查OTHER_LDFLAGS配置,确保添加以下参数:
    -ObjC
    -framework "GoogleMaps"
    -framework "GoogleMapsBase"
    -framework "GoogleMapsCore"
    
  • 清理编译缓存:按下Cmd+Shift+K清理项目缓存,再按Cmd+Option+Shift+K清除Derived Data,之后重新编译项目

3. M系列Mac模拟器适配(可选)

若在M系列Mac上运行模拟器,需调整项目架构设置以兼容:

  • 在Xcode的Target -> Build Settings -> Architectures中,将Architectures设为Standard Architectures (arm64, x86_64)
  • 关闭Build Active Architecture Only(Debug模式可保留开启,Release建议关闭)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 16:41:02