我有一个iOS应用程序,用户可以上传使用UIImagePickerController拍摄的照片。
当我查看jpg exif数据时,我注意到大量照片中的“iPod Touch”填充在“相机型号名称”中。
为什么我可以收集使用iPod Touch拍摄的照片,即使需要授予对应用程序的地理位置访问权限?
即使在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。
答案 0 :(得分:2)
iPod Touch没有GPS芯片(see here)。
因此,它使用Wi-Fi获取大致位置。 Apple使用的技术是从一家名为Skyhook的公司获得许可的 - 他们的网站上有一个很好的"How It Works" section。
基本上,无论您是否连接到该Wi-Fi网络(实质上是SSID扫描),他们都会尝试对您的iPod接收的Wi-Fi信号进行三角测量(或更好)。他们拥有各自关于各种Wi-Fi信号的实际GPS位置的数据(这些信号不会移动很多)。
但鉴于无处不在的Wi-Fi信号(如在爱荷华州的玉米田中间,或在大型学术建筑的地下室等)以及iPod上缺少GPS,您的iPod用户经常没有可用的GeoLocation。
在您的情况下,您可能正在使用核心位置的Requiring the Presence of Location Services in Order to Run方面不需要GPS ,但只需要一些位置服务(即在这种情况下,iPod上的Wi-Fi可用。
通过授予地理位置访问权限提供的其他选项不需要地理位置可用且有效,但只需要一个位置可用,您的应用就可以接收数据。
取决于你的编码方式:)。