Я занимаюсь разработкой приложения для iOS, которое использует Location Services.Приложение отлично работает на iPhone (3GS и 4), но не запрашивает службы определения местоположения при запуске на iPad.То есть пользователя никогда не просят включить службы определения местоположения, и приложение не отображается в разделе «Службы определения местоположения» приложения «Настройки».
Я видел несколько сообщений на форуме, описывающих подобные проблемы, но все они были решеныустановив приложение на iPad через iTunes (через специальное распространение), а не запустив его через Xcode, или сбросив предупреждения о местоположении.Я попробовал оба этих решения на iPad, iPad 2 и симуляторе iPad, но оба безрезультатно.
Мы используем следующий код для включения обновлений служб определения местоположения.Путем отладки и размещения NSLog
s мы убедились, что наш код запускается.
- (id)init {
[super init];
if (clManager == nil) {
clManager = [[CLLocationManager alloc] init];
}
clManager.delegate = self;
[self startLocationMonitoring];
return self;
}
- (BOOL)isLocationAvailable {
return [CLLocationManager significantLocationChangeMonitoringAvailable];
}
- (void)startLocationMonitoring {
if ([self isLocationAvailable]) {
[clManager startMonitoringSignificantLocationChanges];
} else {
// handle lack of Location Services
}
}