为什么Google Maps iOS SDK会使我的应用程序崩溃?

时间:2018-09-18 16:24:16

标签: ios xcode google-maps-sdk-ios

这是我得到的输出,错误为Thread 1: EXC_BAD_ACCESS (code=1, address=0x0)

CoreData: annotation:  Failed to load optimized model at path '/var/containers/Bundle/Application/57E1066F-07A5-4A41-B1AF-2B88F6B8300A//GoogleMaps.bundle/GMSCacheStorage.momd/Storage.omo'
CoreData: annotation:  Failed to load optimized model at path '/var/containers/Bundle/Application/57E1066F-07A5-4A41-B1AF-2B88F6B8300A/.app/GoogleMaps.bundle/GMSCacheStorage.momd/Storage.omo'
CoreData: annotation:  Failed to load optimized model at path '/var/containers/Bundle/Application/57E1066F-07A5-4A41-B1AF-2B88F6B8300A/.app/GoogleMaps.bundle/GMSCacheStorage.momd/Storage.omo'
2018-09-18 11:18:28.144990-0500 [7976:1906621] [framework] CUIThemeStore: No theme registered with id=0
2018-09-18 11:18:28.331857-0500 [7976:1906844] ((null)) was false: Cannot find image polyline_colors_texture_dim
2018-09-18 11:18:28.331887-0500 [7976:1906844] ((null)) was false: Image data can't be NULL.
2018-09-18 11:18:28.331900-0500 [7976:1906844] ((null)) was false: Invalid texture state for routesDimTextureState.

我正在iPhone X设备和模拟器上运行iOS 12 SDK。

在我的应用程序中重现它的方法似乎是构建并运行该应用程序。通常,此刻地图可以正常工作。然后我停止运行,然后重新运行。然后,当我尝试加载地图时,出现崩溃错误。如果

我已经使用可可足类在多个版本的GoogleMaps上进行了尝试,包括最新版本。

我也知道这是CoreData批注的一个持续存在的问题,但我认为这是导致应用崩溃的最后三行。

此外,我有一个经过验证的API密钥,并且启用了iOS SDK。虽然我仍在使用过渡性帐单帐户,但不确定是否相关。

更新: 我下载了Xcode 9.4,但没有这个问题。 Core Data批注仍然存在,但没有崩溃。

更新#2: 我找到了解决方法。 我相信这是由Xcode 10的新构建系统引起的。将Xcode窗口作为焦点,进入File-> Workspace Settings ...->选择Legacy Build System。

我最终仔细研究了程序集,并找到了找不到的文件的路径。我去了那里,图片在那里。因此,或者Google Maps捆绑软件配置不正确,或者这是Cocoa Pods的bug,或者是idk what。

2 个答案:

答案 0 :(得分:2)

好的。崩溃的原因是因为以前的开发人员手动安装了GMAPS SDK,并且在切换到cocoapods时没有将其删除。我通过打开我的应用程序项目内部的Frameworks文件夹(而不是Pods内部的文件夹)并删除所有的Google Maps内容来修复此问题。现在,它可以与新的Xcode 10构建系统一起使用。

答案 1 :(得分:0)

在构建阶段中找到的

Copy Bundle资源可能包含在GoogleMaps.bundle标签下列出的文件。我也删除了这个文件