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

Flutter中google_maps_flutter在iOS端无法使用的问题求助

解决Google Maps SDK初始化异常问题

已经在XCode的AppDelegate.swift中添加以下代码:

import UIKit
import Flutter
import GoogleMaps

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    GMSServices.provideAPIKey("some-my-api-key-from-gcp")
    GeneratedPluginRegistrant.register(with: self)
    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

同时已启用「Maps SDK for iOS」,但运行时仍抛出异常:

** Terminating app due to uncaught exception 'GMSServicesException',
 reason: 'Google Maps SDK for iOS must be initialized via [GMSServices provideAPIkey:...] prior to use'

相关版本:Flutter 3.32、iOS 16.2、google_maps_flutter ^2.2.3


可行解决方法:

  • 调整初始化代码顺序
    把GMSServices.provideAPIKey的调用移到super.application(...)之前,确保SDK在Flutter插件和父类逻辑初始化前完成配置:

    override func application(
      _ application: UIApplication,
      didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
    ) -> Bool {
      GMSServices.provideAPIKey("your-real-api-key")
      let result = super.application(application, didFinishLaunchingWithOptions: launchOptions)
      GeneratedPluginRegistrant.register(with: self)
      return result
    }
    
  • 验证API密钥配置
    去GCP控制台确认你的API密钥已启用「Maps SDK for iOS」,并且应用限制(比如Bundle ID)和当前项目的配置完全匹配,避免因密钥权限或限制导致初始化失败。

  • 清理缓存后重新构建

    1. 关闭Xcode,删除~/Library/Developer/Xcode/DerivedData目录下对应项目的缓存文件夹
    2. 在Flutter项目根目录执行flutter clean
    3. 重新打开Xcode,执行Product > Clean Build Folder,再重新编译运行
  • 检查依赖集成状态
    确认Podfile中已正确引入GoogleMaps,并且执行过pod install完成依赖安装。google_maps_flutter插件通常会自动处理,但可以手动检查Podfile是否包含:

    pod 'GoogleMaps'
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 05:25:54