背景网络流程

时间:2017-07-20 08:29:37

标签: ios objective-c iphone background-process

我们正面临一个偶然的问题,我们不知道如何解决它,

在我们的Xef应用程序中,当服务员命令他按下按钮将订单发送到厨房时, 然后,应用程序将订单保存到服务器

这是分两步完成的

  1. 打印到厨房
  2. 当我们从打印机获得OK或ERROR时,我们将订单保存到具有打印状态的服务器
  3. 我们面临的问题是,有些用户(iphone,ipod touch和ipad mini)在步骤1仍在执行时按下电源按钮(因此他们将设备存放在口袋中)

    因此,当应用程序处于后台时(第1步成功完成),不会执行步骤2

    如果可以解决这个问题,你有什么想法或指导吗?我们怎么做呢?

    非常感谢你。

2 个答案:

答案 0 :(得分:1)

我终于找到了解决方法!

在开始这个过程之前,我打电话给

UIBackgroundTaskIdentifier bgTaskId = [UIApplication.sharedApplication beginBackgroundTaskWithExpirationHandler:^{

}];

当我结束这个过程时,我打电话给

[UIApplication.sharedApplication endBackgroundTask:bgTaskId];

这样,iOS最多可以让我花3分钟完成打印/保存操作

答案 1 :(得分:0)

尝试将会话配置作为背景。