无法加载优化模型 - GoogleMaps SDK IOS

时间:2017-11-11 10:14:14

标签: ios google-maps sdk swift4 xcode9.1

从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更新和pod安装,但同样的问题。

6 个答案:

答案 0 :(得分:29)

如果您已经使用应用程序包标识here的API密钥仔细检查了“google maps ios-sdk”的基本设置,但仍然遇到同样的问题,那么您可能还没有启用Google地图API。转到https://console.developers.google.com上的app-project的信息中心,然后点击“启用APIS和服务”。在那里,在MAPS部分下选择“Google maps sdk for ios”并启用它。

答案 1 :(得分:7)

  1. 选择[APP-NAME] .app并在finder中显示并显示包装内容。
  2. 您将看到GoogleMaps.bundle,右键单击并显示其包装内容。
  3. 输入GMSCacheStorage.momd文件夹。
  4. 删除StorageWithTileProto.omo。
  5. 之后,这些错误消失了。

答案 2 :(得分:5)

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

答案 3 :(得分:4)

我刚遇到同样警告的另一个问题。 地图工作正常,但控制台中几乎没有警告。 我用Google搜索并发现了这个解决方案。

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

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

  3. 将[APP-NAME] .omo移至垃圾箱并再次运行该项目

  4. 日志消息不应该立即显示在控制台中。

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

答案 4 :(得分:1)

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

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

还可以尝试:

Command + Shift + B

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

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

答案 5 :(得分:0)

我遇到了这个问题。我只是忘了添加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)

}