检测iPhone / iPod Touch / iPad是否具有GPS芯片或具有GPS

时间:2011-05-10 04:25:31

标签: iphone ios4 ipad core-location uidevice

我试图明确确定应用程序所在的设备是否具有GPS芯片或使用aGPS或什么也没有。如果它是iPhone或Cellular iPad,我希望它能够运行特定的代码。

我希望找到类似于检测相机是否可用的东西......

if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])

提前感谢。

2 个答案:

答案 0 :(得分:0)

你的具体要求是什么?我认为无法确定该设备是否具有GPS或aGPS。您可以确定设备类型并相应地运行特定代码 - 此处更多代码 - > Determine device (iPhone, iPod Touch) with iPhone SDK

答案 1 :(得分:0)

我不认为aGPS意味着你认为它意味着什么。

普通GPS通过天线接收来自卫星的信号。锁定信号需要时间,因为必须先从至少三颗卫星听到信号才能确定位置。因此,锁定有时可能需要几分钟。

与常规GPS一样,aGPS使用天线接收来自卫星的信号。然而,它有一个额外的功能来加速找到它们:它通过互联网发送数据,告诉它卫星可能在哪里。假设用户没有从他们获得GPS的最后一个位置移动得太远,则该信息意味着该设备具有在哪里查找输入信号的一般想法,因此它可以更快地找到卫星。一旦找到卫星,它的功能就像普通GPS一样。

要回答您的问题,没有iOS设备有GPS而不是aGPS。最初的iPhone没有,而且3G都有。

我认为你实际谈论的是蜂窝塔三角测量:这是另一种计算位置的方法,它比任何类型的GPS都要准确,并且没有能力从卫星接收信号。

您可以向核心位置询问单个位置的准确度:查看horizontalAccuracy上的CLLocation属性。如果是kCLLocationAccuracyHundredMeters或更高,则设备可能未使用GPS或aGPS。但是,这并不意味着设备无法满足要求:它可能还没有实现锁定。