如何根据设备是3G还是非3G设备禁止使用应用程序功能?

时间:2008-11-19 14:41:14

标签: iphone gps

我想只允许拥有3G手机的用户使用特定的GPS功能。如何在允许使用该功能之前对设备进行检查?

2 个答案:

答案 0 :(得分:4)

以下代码允许您确定正在使用的确切设备,但我首先考虑的事实是3G设备实际上可能无法获得GPS锁定,因为这样做的过程非常缓慢且需要或多或少清晰的天空视野。

对于iPhone 3G,此方法的结果将是iPhone1,2

- (NSString *)deviceModel
{
    NSString *deviceModel = nil;
    char buffer[32];
    size_t length = sizeof(buffer);
    if (sysctlbyname("hw.machine", &buffer, &length, NULL, 0) == 0) {
        deviceModel = [[NSString alloc] initWithCString:buffer encoding:NSASCIIStringEncoding];
    }
    return [deviceModel autorelease];
}

答案 1 :(得分:0)

为什么要阻止1g手机用户使用位置服务?如果您接近映射WiFi,即使设备上没有GPS,也可以获得不错的位置结果。

相反,如果这是您寻求禁用任何内容的原因,那么您应根据当前位置准确性做出选择。