iOS 14 的大致位置如何工作,是否有效保护隐私?

2020-06-26 17:54:43 +08:00
 oIMOo

前提,设备本身肯定是知道确切定位的,只是由用户决定是否提供给指定 app 。


首先,我搜索了定位原理iOS app 如何获取位置

通用方案有三个:

iOS 上实现一般是使用 Core Location Framework。其中 desiredAccuracy 可以设置精度,之前最差精度是 3 千米。页面中新添加了 kCLLocationAccuracyReduced: CLLocationAccuracy 。 The level of accuracy used when an app isn’t authorized for full accuracy location data. 精度是 1 - 20 千米。


下一个工作就是弄明白,提供给 app 的到底是 GPS 坐标,还是有人口中的位置标识符,或者其它值。

根据上面的开发文档,提供的是 GPS 坐标和精度等信息。当然,我也没弄明白所谓的标识符是什么。


问题来了:

[1] 大致位置如何工作?

GPS 坐标分为经纬度两个基本值 0.12345,6.78901 。

所以大致位置就是减少小数点后的位数么?

还是说修改末尾的某几个数字造成偏移?

[2] 是否有效保护隐私?

假设最佳的情况:本机没有历史位置、不移动(真实位置不更新)、大致定位在距离 20 km 处。

我看到位置更新需要设置条件(比如移动了 5 m 后更新),如果本机真实位置不移动,kCLLocationAccuracyReduced 是否会更新?(如对应需要定位 app 关闭 1 小时后重新打开)如果更新的话,按照活动规律画圆找同心圆或者圆心就不太能有效了。

这之外,正常使用的 app 都有联网权限,是否可以根据 IP 获取精确位置?

另外还有广告联盟、共享 Cookies 之外很多的第三方接入,所以好奇这个保护是否有效。

我不是 iOS 开发者,所以对于很多文档并不了解,希望有经验的大佬解答一下,感谢!

2472 次点击
所在节点    iOS
5 条回复
opengps
2020-06-26 18:48:10 +08:00
说位置,很多时候都是坐标来描述,只不过坐标本身有误差,很多非 gps 模块直接返回的误差都是不可控,甚至误差很大的
也有些时候给到的不是坐标,而是位置表述,比如 xx 国家 xx 省 xx 市 xx 区,这种如果用到位置往往用地图默认的中心坐标代替
另外,说到广告之类的,他们用的是 ip 定位,传统的都是 ip 分配区域性质,一般也就能到市级别,有些可以到区级别,能到街道级别的微乎其微
lslqtz
2020-06-27 00:23:31 +08:00
大致位置我觉得是漂移+提供给 app 的精度减低?
或者干脆用精度更低的方式去获取和提供(还兼顾省电)
lslqtz
2020-06-27 00:28:16 +08:00
咱实测了一下,在地图 app 中大致位置相对于精确位置有差不多 1km 的偏移,同时即使开启精确位置再关闭后会定位到一样的位置,不清楚是不是依靠算法固定计算的。
而向 app 提供的精度则从原先的米级到了 10km 级差不多?反正差距特别大
astkaasa
2020-06-27 06:03:37 +08:00
geohash 5 或者 6 吧
oIMOo
2020-06-28 19:56:26 +08:00
@lslqtz 根据开发文档,大致位置的精度是 1 - 20 km 。
@astkaasa 感谢,我还真不知道有这个原理,学习中。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/684896

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX