后台网络进程



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

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

这分两步完成

  1. 打印到厨房
  2. 当我们从打印机获得"正常"或"错误"时,我们将订单保存到具有打印状态的服务器

我们面临的问题是,一些用户(iPhone,iPod touch和ipad mini(在步骤1仍在执行时按下电源按钮(因此他们将设备存放在口袋中(

因此,当应用在后台时,不会执行步骤 2(步骤 1 顺利完成(

如果这是可以解决的问题,您有任何想法或指导吗,我们如何做到这一点?

非常感谢。

我终于找到了解决它的方法!

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

UIBackgroundTaskIdentifier bgTaskId = [UIApplication.sharedApplication beginBackgroundTaskWithExpirationHandler:^{
}];

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

[UIApplication.sharedApplication endBackgroundTask:bgTaskId];

这样,iOS最多可以给我3分钟的时间来完成打印/保存操作

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

最新更新