升级了最新高德定位模块后,不删除app直接重新安装高德的一次性定位返回结果,但是删除app再安装app不返回结果。
查看日志报错误:
2022-12-09 10:47:28.074036+0800 LCShiCanApp[4290:241006] Error Domain=AMapFoundationErrorPrivacyShowUnknow Code=555570 "(null)" UserInfo={info=使用AMapLocationKit SDK 功能前请设置隐私权政策是否弹窗告知用户} 2022-12-09 10:47:28.074110+0800 LCShiCanApp[4290:241006] [AMapLocationKit]:Error Domain=AMapFoundationErrorPrivacyShowUnknow Code=555570 "(null)" UserInfo={info=使用AMapLocationKit SDK 功能前请设置隐私权政策是否弹窗告知用户}
经过检查,高德定位模块没有updatePrivacyShow和updatePrivacyAgree函数,只有高德地图模块才有这两个函数。把地图头文件引入,在调用一次性定位的地方,增加两个函数:
///地图需要v4.5.0及以上版本才必须要打开此选项(v4.5.0以下版本,需要手动配置info.plist) [AMapServices sharedServices].enableHTTPS = YES; //检查隐私合规 [MAMapView updatePrivacyShow:AMapPrivacyShowStatusDidShow privacyInfo:AMapPrivacyInfoStatusDidContain]; [MAMapView updatePrivacyAgree:AMapPrivacyAgreeStatusDidAgree];
结果一次性定位正常返回结果了。
太坑了吧!我吐槽:若只需要有定位没有用到地图的app难道也要重新引入地图模块,那不是增加app包吗?