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

iOS SwiftUI应用移除Google Maps冗余包,仅保留Google Places

解决Google Places冗余依赖导致IPA体积过大的问题
  1. 换用官方单独的Google Places SPM包
    Google官方已经提供了仅包含Places功能的SPM包,无需依赖整套Google Maps套件。操作步骤:
  • 打开Xcode的Package Dependencies,移除当前使用的第三方GoogleMaps-SP包
  • 添加官方包:搜索https://github.com/googlemaps/google-maps-ios-sdk,添加时仅选择GooglePlaces产品;或者直接在Package.swift中指定依赖:
    dependencies: [
        .package(url: "https://github.com/googlemaps/google-maps-ios-sdk.git", from: "7.0.0")
    ],
    targets: [
        .target(
            name: "你的Target名称",
            dependencies: [
                .product(name: "GooglePlaces", package: "google-maps-ios-sdk")
            ]
        )
    ]
    
    这种方式只会引入GooglePlaces相关二进制文件,不会带入GoogleMaps、GoogleMapsCore等冗余框架,从根源解决体积问题。
  1. 手动剥离冗余框架(仅无法替换官方包时使用)
    如果必须保留当前第三方包,可尝试手动移除未使用的框架:
  • 进入项目Build Phases,找到Link Binary With Libraries,删除GoogleMaps.framework、GoogleMapsCore.framework、GoogleMapsBase.framework
  • 检查Copy Bundle Resources,若存在GoogleMaps相关bundle文件,一并删除
  • 清理项目(Cmd+Shift+K)后重新归档,验证IPA体积变化
  1. 开启App Thinning进一步优化
    归档发布时记得开启App Thinning:
  • 归档完成后选择Distribute App,选择App Store Connect分发,勾选Enable App Thinning
  • Apple会自动移除未使用的架构和资源,进一步压缩IPA体积

⚠️ 注意:手动剥离框架前,务必确认代码完全没有间接依赖这些冗余框架的API,否则会导致运行时崩溃。优先推荐使用官方单独的Places包,不仅体积更小,维护也更稳定。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 16:54:55