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

Xcode 11编译报错:x86_64架构下UIPointer相关符号未找到

解决Xcode 11中GoogleMaps链接报错:Undefined symbols for UIPointerShape/UIPointerStyle

老哥,这个问题我之前帮朋友排查过,本质是SDK版本兼容性的锅:UIPointerShape和UIPointerStyle这两个UIKit类是iOS 13.4才正式加入的,而你用的Xcode 11默认带的是iOS 13.2 SDK——SDK里根本没这两个类,GoogleMaps的新版本又用到了这些API,链接器自然找不到符号报错。

给你几个可行的解决办法,按推荐程度排序:

  • 优先升级Xcode到11.4及以上版本
    这是最稳妥的方案,Xcode 11.4对应的SDK包含了iOS 13.4的新API,升级后链接器就能找到那两个缺失的类了。而且Xcode 11.4依然支持iOS 9+的部署目标,大部分老项目都能无缝适配。

  • 如果暂时不想升级Xcode,就降级GoogleMaps版本
    找一个还没用到这些iOS 13.4新API的GoogleMaps版本,比如3.5.0(这个版本是iOS 13.4发布前的稳定版)。如果你用CocoaPods,直接修改Podfile:

    pod 'GoogleMaps', '~> 3.5.0'
    

    然后执行pod update GoogleMaps重新安装依赖就行。

  • 临时救急:添加弱链接标记(不推荐长期用)
    这个是hack手段,适合赶时间的临时场景:

    1. 打开项目的Build Settings,搜索Other Linker Flags
    2. 添加以下任意一个标记:
      • 针对整个GoogleMaps框架弱链接:-weak-lGoogleMaps
      • 或者单独忽略这两个缺失的类:-U _OBJC_CLASS_$_UIPointerShape -U _OBJC_CLASS_$_UIPointerStyle
        注意:这个方法只是让链接器放过这些符号,如果GoogleMaps在运行时真的调用了这两个类,你的App在iOS 13.2的设备/模拟器上会直接崩溃,所以只适合你确定不会触发相关功能的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 12:17:57