iOS端旧版Google Maps Pod(2.7.0)反复出现,升级8.4.0失败求助
解决Codename One iOS Google Maps Pod版本冲突问题
问题根源分析
从你的codename_settings配置中能看到几个关键问题:
codename1.arg.ios.pods里直接硬编码了GoogleMaps ${var.ios.pods.GoogleMaps.version\:2.7.0},其中的:2.7.0默认值会覆盖你设置的变量值- 存在重复配置项(如重复的Cordova引用、重复的pod源、重复的background_modes项)
codename1.arg.ios.pods.platform设置了多个iOS版本,与Google Maps 8.4.0要求的最低iOS 13.0不匹配
具体修复步骤
修正
codename1.arg.ios.pods配置
将当前的:codename1.arg.ios.pods=Cordova ~> 6.1,Cordova ~> 6.1,GoogleMaps ${var.ios.pods.GoogleMaps.version\:2.7.0}修改为:
codename1.arg.ios.pods=Cordova ~> 6.1,GoogleMaps ${var.ios.pods.GoogleMaps.version}去掉重复的Cordova引用,同时删除硬编码的
:2.7.0默认值,确保使用你定义的var.ios.pods.GoogleMaps.version=8.4.0变量。清理冗余变量配置
删除codename1.arg.var.ios.pods.GoogleMaps.version=8.4.0这一行,var.开头的变量不需要加codename1.arg.前缀,保留已有的var.ios.pods.GoogleMaps.version=8.4.0即可。统一iOS平台版本要求
将codename1.arg.ios.pods.platform=13.0,11.0,9.0修改为:codename1.arg.ios.pods.platform=13.0Google Maps 8.4.0要求最低iOS 13.0,多版本设置会导致Pod依赖解析冲突。
清理重复配置项
- 将
codename1.arg.ios.pods.sources=https\://github.com/CocoaPods/Specs.git,https\://github.com/CocoaPods/Specs.git改为单个源:codename1.arg.ios.pods.sources=https://github.com/CocoaPods/Specs.git - 清理
codename1.arg.ios.background_modes里重复的蓝牙项,改为:codename1.arg.ios.background_modes=bluetooth-central,bluetooth-peripheral
- 将
兜底阻止自动注入旧版本依赖
如果Codename One内置Maps组件仍自动注入旧版本,添加以下配置彻底禁用自动注入:codename1.arg.ios.excludePods=GoogleMaps通常只要你在
codename1.arg.ios.pods里明确指定了GoogleMaps版本,就会覆盖自动注入的依赖,这一步作为备选方案。
验证修复
修改完成后重新提交云构建,检查构建日志的Pod依赖部分,确认GoogleMaps 8.4.0是唯一的版本引用,不再出现2.7.0的旧版本。
内容的提问来源于stack exchange,提问作者user1678742
相关产品推荐
相关产品推荐

