【问题标题】:periodically download file from server and notify the app定期从服务器下载文件并通知应用程序
【发布时间】:2013-02-07 19:47:08
【问题描述】:

我再次有类似的疑问,如链接setKeepAliveTimeout and BackgroundTasks 中所述。

我必须定期从服务器获取文件并相应地提供本地通知。 这必须在应用处于后台状态时完成。

【问题讨论】:

  • 通过受支持的 API 执行此类操作的唯一方法是使用推送通知。常规应用无法在后台执行任何下载超过几分钟。

标签: iphone ios objective-c uilocalnotification


【解决方案1】:

在你的界面中创建backgoud任务:

@property (nonatomic) UIBackgroundTaskIdentifier bgTask;

比创建方法来后台工作:

- (void) backgroundMethod {

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

    //create backgriund task;
    self.bgTask = [[UIApplication sharedApplication] beginBackgroundTaskWithExpirationHandler:^{
        [[UIApplication sharedApplication] endBackgroundTask: self.bgTask];
        self.bgTask = UIBackgroundTaskInvalid;
    }];

    //do your stuff;
    [[UIApplication sharedApplication] endBackgroundTask: self.bgTask];
    self.bgTask = UIBackgroundTaskInvalid;
});
}

并在需要时定期调用它。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2020-12-24
  • 2012-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多