iOS7后台获取?

巴拉特

在我的应用程序中,我想使用iOS 7后台获取功能向服务器发送一些数据。我还选择了target功能部分中的后台获取复选框(当然,plist中会自动添加一个标志)。

在AppDelegate中,我这样做:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [application setMinimumBackgroundFetchInterval:UIApplicationBackgroundFetchIntervalMinimum];
    //[application setMinimumBackgroundFetchInterval:10]; also tried this
    return YES;
}

然后在委托方法中,我这样做:

-(void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler{

        LocationManager = [[CLLocationManager alloc] init];

        LocationManager.delegate = self;
        LocationManager.desiredAccuracy = kCLLocationAccuracyBest;
        LocationManager.distanceFilter = 50.0;
        [LocationManager startUpdatingLocation];

        /** NEW DATA EXISTS AND WAS SUCCESSFULLY PROCESSED **/
        if (YES) {

             completionHandler(UIBackgroundFetchResultNewData);
        }
        else
             completionHandler(UIBackgroundFetchResultFailed);
 }

然后,我将iPhone连接到XCode并运行该应用程序,然后从调试菜单中单击“模拟后台提取”。调用了委托方法,并且一次更新了服务器上的位置,但此操作再也没有发生,系统也从未在后台唤醒应用程序。我做错了什么?任何帮助,将不胜感激。

编辑:是否可以使用后台获取在服务器上发送数据?Edit-2如果我改为使用远程通知,而是通过后台获取在服务器上发送数据,那么在这种情况下,是否可以保证一旦收到远程通知,系统将唤醒我的应用程序?

nikhil84

简单的答案是,对performFetchWithCompletionHandler方法的调用取决于设备的iOS调用时间。我很久以前也遇到过同样的问题,发现它也可以在几分钟,几小时或一天或一周内被调用。同样,UIApplicationBackgroundFetchIntervalMinimum **并不意味着它将在最短的时间内调用它,它可能永远不会或不会最小,最终将取决于OS来调用preformFetch方法。因此,最后您可以等待OS调用performFetchWithCompletionHandler方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

iOS7测试模拟器中的后台获取?

来自分类Dev

后台获取一次调用ios7

来自分类Dev

后台获取一次调用ios7

来自分类Dev

iOS7后台同步(使用NSURLSessionDataTask?)

来自分类Dev

iOS7中的后台同步

来自分类Dev

每隔一小时从我的服务器在后台模式下获取ios7数据

来自分类Dev

IOs7应用程序在后台崩溃

来自分类Dev

使ios7 BLE外设在后台工作

来自分类Dev

以编程方式获取iOS7的IMEI

来自分类Dev

在iOS 7中获取后台操作步骤

来自分类Dev

EKEvent获取当前事件iOS7

来自分类Dev

如何在iOS7中获取当前高度

来自分类Dev

EKEvent获取当前事件iOS7

来自分类Dev

如何在ImageView iOS7中获取圆形图像

来自分类Dev

如何从iOS7中的UIWindow对象获取UIAlertView

来自分类Dev

在应用程序后台iOS7中检测震动事件

来自分类Dev

在iOS7上处于后台状态时修改当前视图

来自分类Dev

使用NSURLSessionConfigurations在ios7中进行多个后台下载

来自分类Dev

StartSignificantLocationChanges不在后台iOS7中启动应用程序

来自分类Dev

后台警报(iOS 7)

来自分类Dev

iOS后台获取

来自分类Dev

iOS Firebase后台获取

来自分类Dev

iOS后台获取

来自分类Dev

在iOS7 / iOS8中,后台下载文件不会停止10分钟

来自分类Dev

iOS 7-后台位置应用程序在获取后台位置时被杀死

来自分类Dev

在iOS7中为应用程序图标徽章实施后台提取时,Core Data表被清除了

来自分类Dev

UITableViewCell drawInRect iOS7

来自分类Dev

iOS7中的UIVisualEffectView

来自分类Dev

iOS7:MKAnnotation centerOffset?