Службы определения местоположения не будут активированы на iPad - PullRequest
3 голосов
/ 02 апреля 2011

Я занимаюсь разработкой приложения для 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
    }
}

Ответы [ 2 ]

4 голосов
/ 23 января 2012

Это, вероятно, не отвечает на ваш вопрос, но может помочь кому-то. Модели WiFi iPad не поддерживают значительные изменения местоположения (метод significantLocationChangeMonitoringAvailable возвращает NO), а startMonitoringSignificantLocationChanges, похоже, ничего не делает при работе на них - он не вызывает метод делегата ошибки и не отображает синий диалоговое окно с запросом разрешения служб определения местоположения.

0 голосов
/ 23 января 2012

iPad поставляется в 2 моделях (Wi-Fi и Wi-Fi + 3G). http://www.apple.com/ipad/specs/

Модель Wi-Fi не поддерживает A-GPS.

Если вы пройдете через спецификацию, вы увидите, что A-GPS доступен только на модели Wi-Fi + 3G и, возможно, вы используете модель Wi-Fi (только).

Однако, через WIFI, iPad может определять местоположения, если маршрутизатор предоставляет то же самое, что, по-видимому, не в вашем случае.

Вы можете попробовать свое приложение на iPad2 версии Wi-Fi + 3G, и вы увидите, что оно отлично работает .. !!

...