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

无法使用GooglePlaces SDK:未用UISearchDisplayController却提示其已不支持

解决iOS新版本下Google Places SDK与UISearchDisplayController冲突问题

您提到在适配当前iOS版本时,遇到UISearchDisplayController已不再被支持的问题,进而无法正常使用Google Places SDK,但您的项目既没有直接使用UISearchDisplayController,也没有用到Google Places的GMSAutocompleteTableDataSource,而是采用GMSAutocompleteResultsViewController来实现地点检索功能。针对这个场景,您可以尝试以下解决方案:

  • 升级Google Places SDK至最新稳定版:旧版本的Google Places SDK可能内部依赖了已废弃的UISearchDisplayController组件,即使您没有直接调用相关API,编译时也会触发兼容性问题。通过您的依赖管理工具(如CocoaPods、Swift Package Manager)更新SDK到官方最新版本,新版本通常已经完成了对iOS现代API的适配,移除了对废弃控件的依赖。
  • 排查间接依赖的来源:如果更新SDK后问题仍未解决,可通过Xcode的编译日志定位警告/错误的具体触发位置,确认是否是项目中其他第三方库间接引入了UISearchDisplayController的引用。找到对应库后尝试升级,或在项目的Build Settings中开启Dead Code Stripping选项,让编译器自动移除未被使用的废弃代码引用。
  • 确认GMSAutocompleteResultsViewController的正确集成:确保您严格按照Google官方文档集成该组件,比如正确设置代理对象、实现结果回调方法,避免因集成不当导致的间接依赖问题。同时检查是否误导入了旧版SDK的头文件或模块,导致废弃API被间接引用。

需要说明的是,GMSAutocompleteResultsViewController是Google Places目前推荐的地点搜索组件,本身完全兼容最新iOS版本,所以问题的核心大概率出在SDK版本过旧或存在未清理的废弃API引用上。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 08:24:14