位置更新后台模式应用程序被拒绝

时间:2014-04-01 12:25:09

标签: ios objective-c cllocationmanager background-process appstore-approval

我使用位置更新作为后台模式完成了一个应用程序,我使用webservice在每个keepAlive间隔后更新我的位置。我使用下面提到的代码。

if ([application respondsToSelector:@selector(setKeepAliveTimeout:handler:)])
    {
        [application setKeepAliveTimeout:120 handler:^{

            DDLogVerbose(@"KeepAliveHandler");

            // Do other keep alive stuff here.
        }];
    }
    self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        NSLog(@"ending background task");
        [[UIApplication sharedApplication] endBackgroundTask:self.bgTask];
        self.bgTask = UIBackgroundTaskInvalid;
    }];


    self.backgroundTimerForLocationUpdate = [NSTimer scheduledTimerWithTimeInterval:120
                                                                             target:self
                                                                           selector:@selector(changeAccuracy)
                                                                           userInfo:nil
                                                                            repeats:YES];

并且在位置委托中,我正在调用Web请求来更新服务器中的位置,以跟踪用户。

Apple会拒绝该应用使用位置更新后台模式。

2 个答案:

答案 0 :(得分:1)

Will apple reject the app for using the location update background mode.

According to the Apple Documentation只有iOS App

才允许您这样做

Playing and Recording Background Audio连续播放或录制音频的应用(即使应用在后台运行)也可以注册以在后台执行这些任务。Tracking the User’s LocationImplementing a VoIP Client (Voice over Internet Protocol)。因此,根本没有问题,但最终结果将由Apple Review Team

声明

祝你好运

答案 1 :(得分:1)

如果您在应用程序处于后台时启动或停止位置更新,Apple将拒绝应用程序。

但您可以使用方法“startMonitoringSignificantLocationChanges”在后台获取最新的位置更新。它将在应用程序处于后台时更新当前位置值,当您进入前台模式时,您将获得最新的位置信息以执行任何子序列活动。