0

我有一个 iOS 应用程序,用户可以在其中上传使用 UIImagePickerController 拍摄的照片。

当我查看 jpg exif 数据时,我注意到大量照片的“相机型号名称”中填写了“iPod Touch”。

为什么我可以收集使用 iPod Touch 拍摄的照片,即使它需要授予对应用程序的 Geolocation 访问权限?

即使在 iPod Touch 设备上,我也能获得 GPS 坐标?

Camera Model Name               : iPod touch
GPS Latitude                    : 48 deg 51' 7.80" N
GPS Longitude                   : 2 deg 20' 48.00" E

注意:用户必须启用 GeoLocation。

4

1 回答 1

2

iPod Touch 没有 GPS 芯片(参见此处)。

因此,它使用 Wi-Fi 来获取大致位置。Apple 使用的技术是从一家名为 Skyhook 的公司获得许可的——他们的网站上有一个很好的“它是如何工作的”部分

基本上,无论您是否连接到该 Wi-Fi 网络(本质上是 SSID 扫描),他们都会尝试对您的 iPod 接收到的 Wi-Fi 信号进行三角测量(或更好)。他们拥有关于各种 Wi-Fi 信号(移动不大)的实际 GPS 位置的自己的数据。

但鉴于 Wi-Fi 信号并非随处可见(例如在爱荷华州的玉米地中间,或在大型学术大楼的地下室等),并且 iPod 上没有 GPS,您的 iPod 用户经常有没有可用的地理位置。

在您的情况下,您可能正在使用Core Location的Requiring the Presence of Location Services 以运行不需要 GPS的方面,但只需要一些位置服务(即在这种情况下,iPod 上的 Wi-Fi)是可用的。

通过授予地理位置访问权限可用的其他选项不要求地理位置可用且有效,而只要求如果位置可用,您的应用程序可以接收数据。

取决于你如何编码:)

于 2013-09-17T14:56:16.257 回答