谷歌地图SDK错误



我用安装良好的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最初是通过将捆绑包和框架直接复制到项目中来包含的。当随后通过CocoaPods添加GoogleMaps SDK时,复制步骤并未被删除。在项目中包含原始GoogleMaps.bundle和GoogleMaps.frameworks文件导致了崩溃。当我删除旧GoogleMaps.bundle文件的复制步骤时,问题自行解决。要删除复制步骤,请执行以下操作:

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

2( 在工作区导航器中选择目标。

3( 选择构建阶段。

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

5(构建和运行。

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

确保已将GMSMapView类分配给视图对象。从情节提要中选择视图对象,然后在身份检查器中添加自定义类。

最新更新