【发布时间】: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