【问题标题】:Enable Location Services programmatically inside application on iPod Touch在 iPod Touch 上的应用程序内以编程方式启用定位服务
【发布时间】:2011-11-16 10:46:13
【问题描述】:
我有一个使用 GPS 进行定位服务的 iOS 应用程序。用户想在带有外部 GPS 的 iPod Touch 上使用该应用程序,但问题是用户无法在“设置”->“常规设置”->“定位服务”中为此应用程序启用定位服务。
当应用程序在 iPhone 上运行时,在“设置”->“常规设置”->“定位服务”中,该应用程序会显示一个切换开关,以启用/禁用该应用程序的定位服务。但是当应用在 iPod Touch 上运行时,应用不会显示在设置->常规设置->定位服务中。
有谁知道我需要以编程方式执行哪些操作,以在 iPod Touch 上运行时,通过设置->常规设置->定位服务中的拨动开关显示此应用的定位服务?
【问题讨论】:
标签:
iphone
service
gps
location
【解决方案1】:
我认为第一次实现 CLLocationManager 时就会出现这种能力。我不确定这是否与外部 GPS 接收器一起使用,但如果您从 GPS 获取纬度/经度,您可以将这些坐标发送给位置管理器。
【解决方案2】:
我发现了问题所在。我有以下代码,它只允许 iPhone 的定位服务,而不是 iPod。哎呀!
if([model hasPrefix:@"iPhone"]){
self.locationManager = [[CLLocationManager alloc] init];
self.locationManager.delegate = self;
self.locationManager.distanceFilter = 10.0f;
self.locationManager.desiredAccuracy = kCLLocationAccuracyBest;
[self.locationManager startUpdatingLocation];
self.locations = [NSMutableArray arrayWithCapacity:32];
}