更新 GMSPolygon.map 后,Google Maps iOS SDK 冻结并崩溃

Ser*_*gio 5 ios google-maps-sdk-ios swift

我有一个奇怪的罕见崩溃,在我的应用程序中,我使用了 many GMSMarker,有很多大的GMSPolygon's,有时应用程序冻结(就像你在不退出的情况下使用递归)并崩溃

在代码中,我使用GMSMapView clear(),更新GMSMarker's和updateOverlays我把所有GMSPolygon's我的GMSMapView

我通过 CocoaPods 使用 GoogleMaps 3.1.0 版

这是跟踪:

Crashed: com.apple.main-thread 
EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x3fe62e42f0000030
0  AppName                       0x100dcfa5c gmscore::vector::GMSMarkupMultiZoomLinesInstance::CreateLines(gmscore::model::PolylineSpan2D const&, std::__1::map<int, unsigned int, std::__1::less<int>, std::__1::allocator<std::__1::pair<int const, unsigned int> > > const&, int, float, CapShape, CapShape) + 292612
1  AppName                       0x100dce62c gmscore::vector::GMSMarkupMultiZoomLinesInstance::GenerateLinesAndStyleTable(std::__1::vector<gmscore::vector::MarkupPolyline const, std::__1::allocator<gmscore::vector::MarkupPolyline const> > const&, gmscore::vector::GeometryScaleMode) + 287444
2  AppName                       0x100dceff4 gmscore::vector::GMSMarkupMultiZoomLinesInstance::GMSMarkupMultiZoomLinesInstance(GMSPolygon2D*, GMSPolygonDrawStyle*, gmscore::vector::GeometryScaleMode, GMSGLTileResources*, GMSServerResourceManager*, unsigned long, GMSMarkupTapItem*, unsigned int, float, float) + 289948
3  AppName                       0x100dd5cf8 gmscore::vector::GMSMarkupPolygonInstance::GMSMarkupPolygonInstance(GMSPolygon2D*, GMSPolygonDrawStyle*, gmscore::vector::GeometryScaleMode, GMSGLTileResources*, GMSServerResourceManager*, unsigned long, GMSMarkupTapItem*, unsigned int) + 317856
4  AppName                       0x100dd5dd8 gmscore::vector::GMSMarkupPolygonInstance::GMSMarkupPolygonInstance(GMSPolygon2D*, GMSPolygonDrawStyle*, gmscore::vector::GeometryScaleMode, GMSGLTileResources*, GMSServerResourceManager*, unsigned long, GMSMarkupTapItem*, unsigned int) + 318080
5  AppName                       0x100dd7a60 -[GMSMarkupProvider setPolygon:style:tappable:scaleMode:priority:itemID:tapPriority:] + 325384
6  AppName                       0x100ad2f00 -[GMSMapView updateOverlay:] + 7832
7  AppName                       0x100af0368 -[GMSOverlay setMap:] + 127744
8  AppName                       0x10085652c closure #1 in SomeView.updateOverlays() (<compiler-generated>)
Run Code Online (Sandbox Code Playgroud)

有时崩溃看起来像:

Crashed: com.apple.main-thread
0  AppName                       0x1015adea4 gmscore::vector::GMSMarkupMultiZoomLinesInstance::GenerateLinesAndStyleTable(std::__1::vector<gmscore::vector::MarkupPolyline const, std::__1::allocator<gmscore::vector::MarkupPolyline const> > const&, gmscore::vector::GeometryScaleMode) + 285516
1  AppName                       0x1015aeff4 gmscore::vector::GMSMarkupMultiZoomLinesInstance::GMSMarkupMultiZoomLinesInstance(GMSPolygon2D*, GMSPolygonDrawStyle*, gmscore::vector::GeometryScaleMode, GMSGLTileResources*, GMSServerResourceManager*, unsigned long, GMSMarkupTapItem*, unsigned int, float, float) + 289948
2  AppName                       0x1015b5cf8 gmscore::vector::GMSMarkupPolygonInstance::GMSMarkupPolygonInstance(GMSPolygon2D*, GMSPolygonDrawStyle*, gmscore::vector::GeometryScaleMode, GMSGLTileResources*, GMSServerResourceManager*, unsigned long, GMSMarkupTapItem*, unsigned int) + 317856
3  AppName                       0x1015b5dd8 gmscore::vector::GMSMarkupPolygonInstance::GMSMarkupPolygonInstance(GMSPolygon2D*, GMSPolygonDrawStyle*, gmscore::vector::GeometryScaleMode, GMSGLTileResources*, GMSServerResourceManager*, unsigned long, GMSMarkupTapItem*, unsigned int) + 318080
4  AppName                       0x1015b7a60 -[GMSMarkupProvider setPolygon:style:tappable:scaleMode:priority:itemID:tapPriority:] + 325384
5  AppName                       0x1012b2f00 -[GMSMapView updateOverlay:] + 7832
6  AppName                       0x1012d0368 -[GMSOverlay setMap:] + 127744
Run Code Online (Sandbox Code Playgroud)

任何人的想法,有什么问题以及如何解决这个问题?