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

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不匹配

具体修复步骤

  1. 修正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变量。

  2. 清理冗余变量配置
    删除codename1.arg.var.ios.pods.GoogleMaps.version=8.4.0这一行,var.开头的变量不需要加codename1.arg.前缀,保留已有的var.ios.pods.GoogleMaps.version=8.4.0即可。

  3. 统一iOS平台版本要求
    将codename1.arg.ios.pods.platform=13.0,11.0,9.0修改为:

    codename1.arg.ios.pods.platform=13.0
    

    Google Maps 8.4.0要求最低iOS 13.0,多版本设置会导致Pod依赖解析冲突。

  4. 清理重复配置项

    • 将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
      
  5. 兜底阻止自动注入旧版本依赖
    如果Codename One内置Maps组件仍自动注入旧版本,添加以下配置彻底禁用自动注入:

    codename1.arg.ios.excludePods=GoogleMaps
    

    通常只要你在codename1.arg.ios.pods里明确指定了GoogleMaps版本,就会覆盖自动注入的依赖,这一步作为备选方案。

验证修复

修改完成后重新提交云构建,检查构建日志的Pod依赖部分,确认GoogleMaps 8.4.0是唯一的版本引用,不再出现2.7.0的旧版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 14:53:11