繁体   English   中英

谷歌地图 SDK 错误

[英]Google Maps SDK Error

我安装了带有 cocoapods 的GoogleMaps ,安装得很好,但是当我运行该应用程序并尝试运行 Google 在其文档中提供的代码段时,我收到错误消息:

W0815 21:50:35.497383       1 commandlineflags.cc:1503] Ignoring RegisterValidateFunction() for flag pointer 0x100bc8210: no flag found at that address

CoreData: annotation:  Failed to load optimized model at path '/var/containers/Bundle/Application/7689CC83-309E-4D44-B5E0-697601B96C61/BoostRadius-iOS.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileProto.omo'

CoreData: annotation:  Failed to load optimized model at path '/var/containers/Bundle/Application/7689CC83-309E-4D44-B5E0-697601B96C61/BoostRadius-iOS.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileProto.omo'

CoreData: annotation:  Failed to load optimized model at path '/var/containers/Bundle/Application/7689CC83-309E-4D44-B5E0-697601B96C61/BoostRadius-iOS.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileProto.omo'

代码直接来自 文档

override func viewDidLoad() {
    super.viewDidLoad()
    view.backgroundColor = .green

    let camera = GMSCameraPosition.camera(withLatitude: -33.86, longitude: 151.20, zoom: 6.0)
    let mapView = GMSMapView.map(withFrame: CGRect.zero, camera: camera)
    view = mapView

    // Creates a marker in the center of the map.
    let marker = GMSMarker()
    marker.position = CLLocationCoordinate2D(latitude: -33.86, longitude: 151.20)
    marker.title = "Sydney"
    marker.snippet = "Australia"
    marker.map = mapView
}

我正在使用 Xcode 10 beta 5,Swift 4.2

看起来这个错误已经在谷歌问题跟踪器中提交了:

https://issuetracker.google.com/issues/64504919

不幸的是,还没有解决。 我建议在问题跟踪器中标记此错误以表达您的兴趣并订阅来自 Google 的进一步通知。

希望谷歌能尽快修复它。

更新

谷歌用以下评论将上述错误标记为已修复:

我们相信这个问题现在应该可以通过新版本的 SDK v3.3 来解决。 否则让我们知道。

关于评论#78 中提到的 iPadOs 问题,您能否打开一个具有相同描述的新问题来跟踪它?

我在第一次使用 Xcode 10 和 GoogleMaps SDK 2.7.0 版构建我的项目时遇到了这个问题。 我以前对 Xcode 9.X 没有任何问题。 就我而言,这是一个相对较旧的项目,最初通过将捆绑包和框架直接复制到项目中来包含 GoogleMaps SDK。 当 GoogleMaps SDK 随后通过 CocoaPods 添加时,复制步骤并未被移除。 项目中包含原始的 GoogleMaps.bundle 和 GoogleMaps.frameworks 文件导致了崩溃。 当我删除旧 GoogleMaps.bundle 文件的复制步骤时,问题自行解决。 要删除复制步骤:

1) 在 Xcode 文件资源管理器中选择您的工作区。

2) 在工作区导航器中选择您的目标。

3) 选择构建阶段。

4) 在“复制捆绑资源”部分中,确保没有 GoogleMaps.bundle 的条目。 如果有,请将其删除。

5) 构建并运行。

如果一切正常,您可以安全地从项目中删除旧的 GoogleMaps.bundle 和 GoogleMaps.framework 文件。 确保您没有删除 Pod 版本。 您也可以在目标的链接框架和库部分中删除对 GoogleMaps 的引用。

确保您已将GMSMapView类分配给视图对象。 从 Storyboard 中选择您的视图对象并在身份检查器中添加自定义类。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM