加载优化模型失败 - GoogleMaps SDK IOS

Posted

技术标签:

【中文标题】加载优化模型失败 - GoogleMaps SDK IOS【英文标题】:Failed to load optimized model - GoogleMaps SDK IOS 【发布时间】:2017-11-11 10:14:13 【问题描述】:

从 CocoaPods 安装 Google Maps SDK 后出现此错误。

CoreData: annotation:  Failed to load optimized model at path '/Users/nabeel/Library/Developer/CoreSimulator/Devices/96078737-8063-4BC1-97DB-7FECEC6835D9/data/Containers/Bundle/Application/972CD686-82DD-4357-9CDD-65A735D82190/My-APP-Beta.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileVersionID.omo'
CoreData: annotation:  Failed to load optimized model at path '/Users/nabeel/Library/Developer/CoreSimulator/Devices/96078737-8063-4BC1-97DB-7FECEC6835D9/data/Containers/Bundle/Application/972CD686-82DD-4357-9CDD-65A735D82190/My-APP-Beta.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileVersionID.omo'
CoreData: annotation:  Failed to load optimized model at path '/Users/nabeel/Library/Developer/CoreSimulator/Devices/96078737-8063-4BC1-97DB-7FECEC6835D9/data/Containers/Bundle/Application/972CD686-82DD-4357-9CDD-65A735D82190/My-APP-Beta.app/GoogleMaps.bundle/GMSCacheStorage.momd/StorageWithTileVersionID.omo'

我再次尝试了 pod update 和 pod install 但同样的问题。

【问题讨论】:

我也遇到同样的错误 我也有同样的问题 转到 console.developers.google.com/apis/api/… ,选择 Library 并启用 Google Maps SDK for ios 【参考方案1】:

如果您已经使用应用程序包标识符here 的 APIkey 仔细检查了“google maps ios-sdk”的基本设置,并且仍然遇到同样的问题,那么您可能没有启用 google maps API。转到https://console.developers.google.com 上的应用项目仪表板,然后单击“启用 API 和服务”。在那里,在 MAPS 部分下选择“the Google maps sdk for ios”并启用它。

【讨论】:

这对我有用。我使用的是没有 iOS 应用限制的 Api 密钥,并且启用了 Google map ios sdk。所以我创建了一个带有 iOS 应用限制的新密钥,并提供了 bundle id 并启用了 Google map ios sdk。 但是遇到另一个问题,地图在父视图中加载,但在任何子视图中都没有加载。 哦,这是另一个问题,您应该创建并显示一些代码以便回答。也许你可以在这里分享一个链接? 重要提示! :如果地图显示正常,但消息“CoreData: annotation: Failed to load optimization model at path ... /GMSCacheStorage.momd/StorageWithTileVersionID.omo'”仍然显示,那么这是来自 google maps ios sdk 的问题。 . 这是它的问题跟踪器:issuetracker.google.com/issues/64504919 我已经完成了所有这些,但地图仍然无法加载。它对我不起作用【参考方案2】:
    选择 [APP-NAME].app 并在 finder 中显示它并显示包内容。 您将看到 GoogleMaps.bundle,右键单击并显示它的包内容。 进入 GMSCacheStorage.momd 文件夹。 删除 StorageWithTileProto.omo。

之后这些错误就消失了。

【讨论】:

我尝试删除 StorageWithTileProto.omo,但是当我运行我的应用程序 agin 时它正在生成 agin。并再次显示错误日志。【参考方案3】:

从 Project Navigator(在 Xcode 中)展开 GoogleMaps.bundle,然后展开 GMSCacheStorage.momd 文件夹。现在从该文件夹中删除StorageWithTileProto.omo 文件并再次运行项目。

【讨论】:

你的意思是这解决了模拟器中的问题,而在生产中我们不需要它?我的意思是这个文件会在生产中再次生成?对不起这里的初学者。【参考方案4】:

我刚刚遇到了另一个带有相同警告的问题。 地图工作正常,但控制台中几乎没有警告。 我四处搜索并找到了这个解决方案。

    在项目导航器中转到产品组并选择您的 [APP-NAME].app,然后在查找器中显示并选择显示包内容

    现在您将看到您的 [APP-NAME].momd 文件夹。打开它你会看到你的[APP-NAME].omo

    将 [APP-NAME].omo 移至回收站并再次运行项目

    现在不应在控制台中显示日志消息。

注意:不要删除任何 .mom 文件

【讨论】:

我找不到 [APP-NAME].momd 文件夹【参考方案5】:

查看此链接,了解有时会导致 GoogleMaps SKD 2.4 和 2.5 崩溃的错误,包括我的案例 (2.5):

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

也试试:

Command + Shift + B

我知道,这听起来可能很傻,但我花了几个小时,这最终解决了我的问题!毕竟是干净的建筑!

遇到同样问题的一些人建议将 SDK 降级到 2.3,我这样做了,结果是一样的,而且我的代码一直在崩溃,所以我不得不更新回 2.5

【讨论】:

【参考方案6】:

我遇到了这个问题。我只是忘了添加 view = mapView。 将此添加到您的 viewDidLoad :

override func viewDidLoad()
super.viewDidLoad()
view = mapView
mapView?.delegate = self
let camera = GMSCameraPosition.camera(withLatitude : 0.0 , longitude : 0.0, zoom :6.0)
mapView = GMSMapView.map(withFrame : CGRect.zero , camera : camera)


【讨论】:

这与问题无关。

以上是关于加载优化模型失败 - GoogleMaps SDK IOS的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 GoogleMaps sdk 获取路线图的中心

Swift - GoogleMaps SDK 获得单指或双指点击手势

适用于 iOS 的 Google Maps SDK 要求 GoogleMaps.bundle 成为“复制捆绑资源”下目标的一部分

我可以将适用于 iOS 的 GoogleMaps SDK 与 -ObjC 以外的链接器标志链接吗

VS2019打开项目加载失败:无法找到 .NET Core SDK。请检查确保已安装此项且 global.json 中指定的版本(如有)与所安装的版本相匹配

面试系列—— 虚拟偶像VR SDK开发和优化总结