前提,设备本身肯定是知道确切定位的,只是由用户决定是否提供给指定 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 开发者,所以对于很多文档并不了解,希望有经验的大佬解答一下,感谢!
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.