我有 2 个使用 google 地图 sdk 的项目,它们目前位于 Appstore 中。
需要注意的事项:
- 通过cocoapods安装的Gmaps sdk版本1.9.0
- Xcode 版本 6.4
- 部署目标 7.1
- 设备:iPhone 4s(8.3.0)
今天我像往常一样打开第一个项目的 Xcode,尝试在 iPhone 上编译和调试,有时会得到一个EXC_BAD_ACCESS (code=1...)
应用程序崩溃,有时会出现EXC_BAD_ACCESS (code=EXC_ARM_DA_ALING...)
,这里没有堆栈跟踪,但始终在 main.m 上:
return UIApplicationMain(argc, argv, nil, NSStringFromClass([TGPAppDelegate class]));
看到第一个线程我发现这个错误与谷歌地图有关:
尝试了以下方法:
- 更新 Pod(不起作用)
- 将我的代码替换为 gmaps sdk 页面上的示例代码(不起作用)*
-
我读过了 https://stackoverflow.com/questions/19584955/google-maps-ios-sdk-crash关于自动布局的一些内容,已禁用(不起作用)
奇怪的是我还:
- 在 iPhone 6 上尝试过 8.4(确实有效)
- 在 iPhone 6 上尝试过 8.3(确实有效)
这两个项目都处于早期测试状态,所以我不知道是否有任何真正的用户有这个问题,但我担心一些用户将因此无法使用这些应用程序。
我在互联网上找不到太多信息,我什至不知道在哪里查找,是否有任何关于此的已知错误报告?,还有其他人遇到同样的问题吗?
这是我正在使用的示例代码:
-(void)viewDidLoad {
[super viewDidLoad];
GMSCameraPosition *camera = [GMSCameraPosition cameraWithLatitude:37.80948
longitude:5.965699
zoom:2];
GMSMapView *mapView = [GMSMapView mapWithFrame:CGRectZero camera:camera];
self.view = mapView;
}
EDIT 1:
做了更多测试,发现问题仅在调试时出现(在运行应用程序时附加调试器),如果您从iPhone运行应用程序,然后将调试器附加到进程,则一切运行正常,我的意思是,如果当附加调试器时地图尝试渲染然后你会得到 exc_bad_access,那么这是一个调试器错误?,我很困惑
EDIT 2:
这在回答in here https://stackoverflow.com/a/31445847/2091315, 谢谢Dave https://stackoverflow.com/users/1775374/dave-cole