【问题标题】:Google Maps: unrecognized selector sent to instance error:谷歌地图:无法识别的选择器发送到实例错误:
【发布时间】:2017-10-26 01:12:32
【问题描述】:

我查看了其他几个关于此的 SO 帖子并检查了他们的建议,但是当我尝试实例化 Google 地图时仍然遇到崩溃。

在我的构建设置中,我将其他用于调试和发布的链接器标志设置为 -Objc

在将要实例化地图的视图控制器中,我正在导入 Google 地图框架并拥有以下代码:

GMSCameraPosition* cameraPosition = [GMSCameraPosition cameraWithLatitude:self.currentLocation.latitude
                                                                    longitude:self.currentLocation.longitude
                                                                         zoom:10];

    self.myMapView = [GMSMapView mapWithFrame:CGRectZero camera:cameraPosition];
    self.view = self.myMapView;

我在崩溃时得到了这个调试器输出:

-[GMSMapView animateToCameraPosition:]:无法识别的选择器发送到实例 0x7cdf6680

其他链接器标志似乎是这次崩溃的罪魁祸首,但还有其他可能导致它的原因吗?

编辑:应该注意这与 CGRectZero 或如果我使用 self.view.bounds 矩形崩溃。

编辑:将 -Objc 切换到 -ObjC 创建了链接器错误:

linker command failed with exit code 1 (use -v to see invocation)

【问题讨论】:

  • 你有方法 animateToCameraPosition: 吗?
  • 先生。 T - 据我了解,此方法是 Google 地图框架的一部分,当您将相机位置传递给 GMSMapView 时,它会调用此方法。万岁:是的。
  • 崩溃是说你发送了一些你不应该发送的东西!!!!你是怎么调用这个方法的?
  • 我没有打电话或发送任何东西,GMS 框架是。当你实例化一个谷歌地图视图时,你将你希望地图视图出现在其中的矩形和一个 GMSCamera 对象(纬度和经度以及缩放级别)传递给它。当地图视图接收到它时,它会从它的 m 个文件中调用方法 animateToCameraPosition。我无权访问此方法,并且某些东西阻止了 GMSMapView 正确实例化,这就是它无法识别选择器的原因。我想弄清楚我需要做什么才能正确实例化它。
  • 尝试设置 -ObjC 而不是 -Objc

标签: ios objective-c google-maps


【解决方案1】:

尝试打开 project.xcworkspcae,然后再次运行。

【讨论】:

    猜你喜欢
    • 2012-04-04
    • 1970-01-01
    • 2017-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多