【问题标题】:Why is Google Maps iOS SDK crashing my app?为什么 Google Maps iOS SDK 会使我的应用程序崩溃?
【发布时间】:2018-09-18 16:24:16
【问题描述】:

这是我得到的错误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。

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

我已经在使用 cocoapods 的多个版本的 GoogleMaps 上尝试过这个,包括最新的版本。

我也知道这是 CoreData 注释的一个持续问题,但我相信是最后三行导致应用程序崩溃。

另外,我有一个经过验证的 API 密钥,并且 iOS SDK 已启用。我仍在使用过渡结算帐户,但不确定这是否相关。

更新: 我下载了 Xcode 9.4 并没有这个问题。核心数据注释仍然存在,但没有崩溃。

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

我最终挖掘了程序集并找到了它找不到的文件的路径。我去了那里,图像就在那里。所以要么谷歌地图包配置不正确,要么这是 Cocoa Pods 的一个错误,或者是什么。

【问题讨论】:

  • 我在使用Xcode 10时遇到同样的问题,有什么解决办法吗?
  • @MingChu 刚刚在我的帖子中提供了第二次更新。在昨天花了 7 个小时挖掘组装之后,解决方法就像使用旧版构建器一样简单。
  • @MingChu 我已经在 Google 的问题跟踪器中添加了一个问题,如果你想跟上它的状态并表明这个问题也在影响你,请给它加星标:@ 987654321@
  • 仅供参考,我尝试使用 Xcode 10 创建一个新项目,pod init -> 将“pod 'GoogleMaps'” 添加到 Podfile -> pod install 并且它可以工作????
  • 我的测试项目:github.com/ming-chu/TestGoogleMap

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


【解决方案1】:

好的。它崩溃的原因是以前的开发人员手动安装了 GMAPS SDK,并且在切换到 cocoapods 时没有将其删除。我通过打开我的应用程序项目内部的 Frameworks 文件夹(不是 Pods 内部的那个)并删除所有谷歌地图的东西来修复它。现在它适用于新的 Xcode 10 构建系统。

【讨论】:

    【解决方案2】:

    在构建阶段找到的复制捆绑资源可能包含GoogleMaps.bundle 标签下列出的文件。我也删除了这个文件

    【讨论】:

    • 这可能是一个更好的评论而不是一个答案。
    • 道歉我试图将其添加为评论,但我没有足够的 StackOverflow 积分?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-24
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多