запрос местоположения с помощью push-уведомления iOS (когда приложение НЕ работает в backgorund) - PullRequest
2 голосов
/ 24 января 2012

возможно ли отправить push-уведомление iOS для определения местоположения, когда приложение не работает в фоновом режиме?точно так же, как Find My iPhone сделать это ..

Ответы [ 3 ]

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

UIRemoteNotification - ваш друг.

1) Зарегистрируйте приложение для удаленного push-уведомления:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:  UIRemoteNotificationTypeAlert |
                                                                        UIRemoteNotificationTypeBadge |
                                                                        UIRemoteNotificationTypeSound];

2) Реализуйте логику в applicationDidFinishLaunching (для обработки push-уведомлений).уведомления, поступающие при закрытии приложения)

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    //...

    if([launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey]) {
        //if we're here, apps was launched due to Remote Notification

    }

    //...
}

3) Реализация входа в систему с помощью didReceiveRemoteNotification (для обработки push-уведомлений, поступающих при запуске приложения на переднем плане)

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo {
    //...
    //business logic for GPS Position    
    //...
}

На шаге 2и 3, реализуйте свою бизнес-логику, чтобы получить фактическую позицию GPS.

Более подробная информация здесь в документации для разработчиков Apple: http://developer.apple.com/library/mac/#documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/Introduction/Introduction.html#//apple_ref/doc/uid/TP40008194-CH1-SW1

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

Когда приложение работает в фоновом режиме, единственное, что оно может сделать с push-уведомлением, это показать цифровой значок, воспроизвести предварительно упакованный звук и / или отобразить предупреждение.В вашем приложении нет кода, который можно было бы выполнить, когда устройство получает push, а ваше приложение находится в фоновом режиме.

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

Нет, это не так. Сожалею. Вы можете отправить push-уведомление с просьбой, чтобы пользователь открыл приложение, а затем приложение может начать получать его местоположение.

...