高德地图才整改完了,Bug就来了

·  阅读 10846
高德地图才整改完了,Bug就来了

这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

前言

这篇文章是接着个人信息保护法颁布了,App的高德SDK整改之后的。

主要还是处理自己App的业务Bug为主,大家就随便看看

正当我舒了一口气将高德地图SDK整改完毕之后,打包给测试之后,还没过一会,测试就反馈过来了:

一打开App就有惊喜!!!地图的样式和以前不一样了!!!

高德地图SDK整改前高德地图SDK整改后
IMG_0591.PNGIMG_0592.PNG

我当时看到就纳闷了,我就升级个高德地图SDK,怎么连地图的风格也改了?

分析Bug

因为这个项目我也是半路接手,对于一些业务并不熟悉,所以我先找需求、测试还有安卓的同事确认了下面几个事情:

  • 我们App的地图风格是暗色系的吗?

    需求答复:是的,一直都是和App的风格相近,是暗色系的。

  • 线上App是好的吗?

    测试答复:线上App地图风格是好的,这个Bug只存在与升级了高德地图之后,我甚至去下载了没有升级高德地图SDK的测试版本,发现没有问题。

  • 安卓端的App升级高德地图后有一样的问题吗?

    安卓同事:目前没有发现异常。

通过上面的询问,我基本上确认了高德地图SDK升级,导致了此次Bug的出现。

定位问题

于是我马上去代码查看涉及自定义高德地图的代码,不一会儿就找到了:

/// 地图样式
NSString *path = [NSString stringWithFormat:@"%@/style.data", [NSBundle mainBundle].bundlePath];
NSData *data = [NSData dataWithContentsOfFile:path];

NSString *extraPath = [NSString stringWithFormat:@"%@/style_extra.data", [NSBundle mainBundle].bundlePath];
NSData *extraData = [NSData dataWithContentsOfFile:extraPath];

MAMapCustomStyleOptions *options = [[MAMapCustomStyleOptions alloc] init];
options.styleData = data;
options.styleExtraData = extraData;

[self.myMapView setCustomMapStyleOptions:options];
[self.myMapView setCustomMapStyleEnabled:YES];
复制代码

从本地读取了style.datastyle_extra.data,作为配置项,然后再到地图中使用。

我立马做了两项检查:

  • 这两个文件还在项目中吗?

    在项目中。

  • 这两个文件在Git中的变更记录是什么情况?

    最近一年没有更改,本次升级应该没有对这个两个文件做变更,亦没有人为改动。

既然这样,我所幸去高德地图SDK文档去查一查setCustomMapStyleOptions这个API吧

Snip20211109_32.png

这不查不知道,一查吓一跳。

总体而言这次地图样式异常原因找到了:

高德地图SDK升级跨度过大,以前的高德地图SDK版本非常的老,这次直接升级到8.1.0之后,旧的style.datastyle_extra.data已经无法在新版SDK中使用。

解决问题

找到问题之后,解决起来就简单了:

  • 去网站选择地图样式:

image.png

  • 下载新的样式文件:

image.png

  • 在工程中删除之前的style.datastyle_extra.data文件,使用本次下载的样式文件。

问题就解决了!!!

参考文档

高德自定义地图样式

iOS_Map_Doc/AMap_iOS_API_Doc_3D

总结

这是一个涉及高德地图SDK升级而引发的Bug,也只能算是一点经验,这里只是记录一下自己排查的前前后后。

607d67ce992d16cadf67acb568cc7aed.jpeg

分类:
iOS
标签:
分类:
iOS
标签: