我试图具体确定应用程序所在的设备是否具有 GPS 芯片或使用 aGPS 或什么都没有。如果它是 iPhone 或蜂窝 iPad,我希望它运行特定代码。
我希望能找到类似检测相机是否可用的东西......
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
提前致谢。
我试图具体确定应用程序所在的设备是否具有 GPS 芯片或使用 aGPS 或什么都没有。如果它是 iPhone 或蜂窝 iPad,我希望它运行特定代码。
我希望能找到类似检测相机是否可用的东西......
if ([UIImagePickerController isSourceTypeAvailable:UIImagePickerControllerSourceTypeCamera])
提前致谢。
我不认为aGPS 意味着你认为它意味着什么。
普通 GPS 通过天线接收来自卫星的信号。锁定信号需要时间,因为它必须至少收到三颗卫星的声音才能确定位置。因此,锁定有时可能需要几分钟。
aGPS 与常规 GPS 一样,使用天线接收来自卫星的信号。然而,它有一个额外的功能可以加快寻找它们的速度:它通过互联网发送数据,告诉它卫星可能在哪里。假设用户距离他们上次获得 GPS 的位置没有移动太远,那么此信息意味着设备大致了解在哪里寻找输入信号,因此它可以更快地找到卫星。一旦它找到了卫星,它的功能就和普通的 GPS 一样。
要回答您的问题,没有 iOS 设备有 GPS 但没有 aGPS。最初的 iPhone 两者都没有,而 3G 两者都有。
我认为您实际上在谈论的是蜂窝塔三角测量:这是另一种计算位置的方法,它比任何类型的 GPS 都不准确,并且无法接收来自卫星的信号。
您可以向 Core Location 询问单个位置的准确程度:查看 上的horizontalAccuracy
属性CLLocation
。如果是kCLLocationAccuracyHundredMeters
或以上,则设备可能未使用 GPS 或 aGPS。但是,这并不意味着该设备不具备此功能:它可能还没有实现锁定。