问题标签 [background-fetch]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
475 浏览

ios - 在后台获取ios中启动后台传输服务

我的目标是在应用程序处于后台时将数据/图像发送到服务器。从 iOS7 开始,我们可以使用后台获取来做到这一点。但后台提取仅提供 30 秒的时间限制。我发送到服务器的数据可能需要更长的时间,因为它有更多的图像。在谷歌搜索时,我遇到了后台传输服务,它提供无限时间在后台上传/下载数据。是否可以在后台获取代码中启动后台传输服务?如果有怎么处理。

0 投票
1 回答
1524 浏览

ios - 后台提取在大约 10 到 14 小时后停止工作

我的应用程序使用背景提取每 30 分钟发送和上传一小部分数据。在应用程序从前台工作最小化后,该服务可以正常工作大约 10 - 14 小时 - 应用程序每 30 分钟正确发送和接收数据。

有谁知道几个小时后服务会发生什么?iOS 系统是否会自动终止应用程序并因此后台提取停止工作?

谁能解释一下?

0 投票
1 回答
377 浏览

ios - 当应用程序在ios中处于后台时如何从服务器下载数据

在我的应用程序中,收到推送通知后,我需要从服务器下载数据并在应用程序处于后台时保存到数据库中。这是我的代码

当应用程序仅在前台时,此代码正在执行。谢谢。

0 投票
1 回答
811 浏览

ios - 将数据发送到服务器/在后台重试请求的选项

我们正在开发一个将用户输入的表单数据发送到服务器的企业应用程序。该应用程序会在用户点击保存后立即尝试发送数据。如果发送数据出现问题(例如没有网络连接),我们想在 X 分钟后重试,并定期重试,直到数据发送成功。请求通常不是很大或运行时间不长,但用户经常处于无法访问网络的环境中,因此重试很重要。

在应用程序运行时重试 API 请求很简单,但理想情况下,我们希望在应用程序处于后台时保持定期重试。我们可以通过 iOS 后台执行功能实现的最佳效果是什么?以下是我看到的一些选项:

  • 用于beginBackgroundTaskWithExpirationHandler:一次性请求额外时间。这将使我们基本上在应用程序进入后台后再次尝试发送数据,但不会重复尝试
  • 使用“后台获取”功能,并在应用程序被唤醒以进行后台获取时尝试将任何新数据发送到服务器。理论上听起来不错,但我担心这可能是对后台获取功能的滥用?

其中之一是我最好的选择吗?我还缺少另一种方法吗?

这是一个具有 iOS 和 Android 实现的 Xamarin 应用程序,但我认为这不会对我的问题产生重大影响;我可以根据需要编写 iOS 特定代码。

0 投票
1 回答
2611 浏览

ios - 向应用程序发送静默推送通知,更新位置并在后台发送到服务器

我想向后台应用程序发送静默推送通知,然后获取当前用户位置并将其发送到 Web 服务。

我实现了推送通知方法以及这两个:

我还创建了一个将位置发送到服务器的方法:

我只是无法理解它们是如何协同工作的,Apple 是否会批准这一点,是否有可能以及位置背景获取进入何处。

提前致谢。

0 投票
1 回答
1258 浏览

ios - ios - 如何在 ios swift 中正确实现后台获取

我有一种情况,我正在使用后台获取来调用我的数据同步过程,因为同步功能是一项繁重的任务,它在后台线程中执行。

这是我的代码,

现在我有一些问题:

  1. 由于后台获取时间为 30 秒,如果我的任务未在 30 秒内完成,那么会发生什么,因为我无法将 completionHandler 设置为 .NoData 或 .Failure

  2. 如果开发人员未在 30 秒内指定,是否设置了任何默认的 completionHandler 值(如 .NoData)。

  3. 有没有其他更好的方法来做到这一点。

提前致谢

0 投票
1 回答
1581 浏览

ios - ios 8后台获取永远不会在设备上多次调用

我为 iOS 上的后台提取创建了一个测试应用程序。它通过调试在模拟器上正常工作 - >模拟后台获取。但在装有 iOS 8 的设备上,它每天只调用一次。如何强制 iOS 更频繁地调用它?

这是我的步骤和代码:

1)项目->功能->后台模式->后台获取

2) 应用代理:

每次调用后台提取时都应出现本地通知。

0 投票
1 回答
1553 浏览

ios - 在ios后台应用程序时将用户位置发送到服务器

请帮助我,当我的应用程序处于后台模式时,我正在尝试将我当前的应用程序位置发送到服务器。

但经过一段时间后,位置更新方法会停止获取当前位置。

我在我的应用程序中使用了后台获取和位置更新。也可以从设置->功能打开它。

但是,当我从 xcode 调试并在后台获取应用程序时,它可以正常工作,但是当我断开连接并对其进行测试时,它会停止更新我的位置。

请帮帮我。

0 投票
1 回答
2264 浏览

ios - 使用 Xcode 进行模拟时,PerformFetchWithCompletionHandler 调用了两次

在 Xcode 7.0.1 中,“模拟背景”获取命令会performFetchWithCompletionHandler触发两次。

这是 Xcode 调试错误,还是在运行应用程序发布版本的设备上发生。

更新 现在我们有 Xcode 7.1.1 并且仍然performFetchWithCompletionHandler被调用了两次。由于我不确定这是否也“在野外”发生,所以如果我的 fetch 操作已经在运行,我会保持状态。

0 投票
1 回答
36 浏览

ios - 从 Xcode 启动后台获取时应用程序未停止

当我从 Xcode 以 Background Fetch 模式启动我的应用程序时,它可以工作。但是当我调用回调处理程序或 30 秒后它应该停止。但事实并非如此!当我单击暂停时,我可能会看到我的主线程没有做任何事情。

是某些特定于 xcode 的问题,还是我误解了有关后台获取的某些内容?