问题标签 [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 回答
383 浏览

ios - 如何取消我恢复的 NSURLSessionDownloadTask 以恢复我上次启动应用程序时创建的下载(后台)任务

我创建了一个后台会话和一个下载任务,我想在午餐应用程序被用户杀死后恢复。我找到了一种恢复该任务的方法,但是有一个问题。我创建了新的会话并使用相同的 Url 下载任务,起初我的旧下载任务恢复很好,但问题是新任务已创建,我有 2 个下载任务来下载相同的对象(但我只需要旧的)。当我取消新任务时,我没有收到旧任务的任何通知。

0 投票
1 回答
9989 浏览

ios - Swift:如何在后台运行 GET 调用然后显示通知

我正在制作一个显示来自网站/博客的数据的应用程序。用户可以关注任何作者。要求是,当应用程序进入后台时 1) 首先应该运行对数据的 GET 调用 2) 分析数据后,应显示适当的通知

我已经阅读了Background Fetch详细信息。但它声明操作系统将设置它自己的时间来运行该代码。我检查了该应用程序,它仅在 3 天内显示了一次通知。

谁能告诉我如何正确进行后台获取并相应地显示通知。任何好的文章链接也将不胜感激。

0 投票
5 回答
8175 浏览

ios - iOS 应用程序在前台时如何在后台运行操作

我在文档目录中有一个用字符串数据填充的 JSON 文件。在应用程序的用户界面中有一个 UIButton。按下按钮时,一个新字符串会附加到 JSON 文件中。

现在我正在寻找任何可以帮助我使用 swift 将这些字符串(来自 JSON 文件)发送到服务器的 iOS 服务。而且这个服务应该完全独立于我的代码。关键是当我按下 UIButton 时,第一步是将字符串保存到 JSON 文件中,然后如果 Internet 可用,服务应该获取此字符串并将其发送到服务器。

成功发送字符串后,应将其从 JSON 文件中删除。如果有任何字符串保存到 JSON 文件中,此服务应每 30 秒跟踪一次,然后将其发送到服务器。

我用谷歌搜索并找到了后台提取,但它会performFetchWithCompletionHandler自动触发功能,我不知道 iOS 何时触发它。我想每 30 秒后自己触发一次这种服务。

0 投票
1 回答
259 浏览

ios - 应用程序在后台时如何将推送通知有效负载插入数据库

当应用程序在后台时,如何将推送通知有效负载数据插入数据库。我尝试了 content-available 标签,但它对我不起作用。请帮帮我

0 投票
0 回答
306 浏览

ios - 如何在 iOS App 中为后台获取模式运行后台进程?

我在广播接收器的帮助下在 android native 中创建了一项服务,并使用警报管理器对其进行调度,并且该服务每隔 5 分钟在后台运行一次。即使应用程序关闭/终止/强制退出或设备重新启动,此服务仍在运行。它按照我的要求工作正常。但是现在我想在 iOS 应用程序中运行相同的后台进程,这意味着当应用程序关闭或移动设备也重新启动时,我的服务应该在后台运行。是否可以在 iOS 应用程序中运行这样的后台进程?

0 投票
2 回答
14083 浏览

ios - 如何解决 iOS 后台应用程序获取无法正常工作的问题?

我正在尝试让 iOS 后台应用程序获取在我的应用程序中工作。在 Xcode 中测试时它可以工作,但在设备上运行时却不行!

  • 我的测试设备正在运行 iOS 9.3.5(我的部署目标是 7.1)
  • 我在 Xcode 中目标的“功能”下的“后台模式”下启用了“后台获取”

在此处输入图像描述

在应用程序中:didFinishLaunchingWithOptions 我尝试了使用 setMinimumBackgroundFetchInterval 的各种间隔,包括 UIApplicationBackgroundFetchIntervalMinimum

我已经实现了应用程序:performFetchWithCompletionHandler

  • 我已经(成功!)使用 Xcode 的 Debug/SimulateBackgroundFetch 对模拟器和设备进行了测试

  • 我已经成功测试了另一个 SO 答案( https://stackoverflow.com/a/29923802/519030)中所示的新方案

  • 我的测试显示在 performFetch 方法中执行的代码大约需要 0.3 秒(所以不需要很长时间)
  • 我已验证设备在设置中启用了后台刷新。
  • 当然,我已经查看了其他 SO 问题,希望其他人也经历过同样的事情。:)

在设备上运行且未连接到 Xcode 时,我的代码未执行。我打开了应用程序,关闭了应用程序(没有杀死应用程序!),等待了数小时和数天。我已经尝试登录 fetch 处理程序,并且还编写了代码来发送本地通知。

我曾经在设备上成功地看到了我的本地通知测试,实际上 iOS 似乎触发了 3 次获取,每次大约相隔 15 分钟,但之后再也没有发生过。

我知道用于确定允许后台获取发生的频率的算法是一个谜,但我希望它至少偶尔会在几天内运行。

我不知道还有什么要测试的,或者如何解决为什么它似乎在模拟器中工作而不是在设备上工作。

感谢任何建议!

0 投票
2 回答
558 浏览

ios - 我无法在 iOS 的后台获取数据

当我在 Xcode 的 Debug 选项卡中使用 Simulate Background Fetch 时,我的应用程序执行了预期的操作,但是,当应用程序在我的手机上运行时,没有任何效果。

以前有人发生过这种情况吗?你是怎么解决的?

我目前正在使用 Swift 2.2 和 Xcode 7.3

0 投票
1 回答
1049 浏览

ios - Swift3 - 调试时后台获取崩溃

这是我的代码,当我在 XCode 中调试 > 模拟后台获取我的应用程序崩溃时,无缘无故。我在功能>后台模式>后台获取中激活...有什么想法吗?

它仅在模拟器中的 iPhone 上崩溃我没有问题。

0 投票
1 回答
695 浏览

ios - 如何以多个间隔调用Background Fetch iOS

在我的 iOS 应用程序中,我想每 4 小时进行一次 api 调用。

根据我的研究,我发现它可以通过后台任务或本地通知或推送通知来实现。

据我所知,通过通知(本地或推送两者)用户必须与应用程序交互。

我想在没有用户交互的情况下进行 api 调用,即使应用程序处于后台或前台或活动状态。

我没有得到适用于间隔的后台获取的确切示例代码。

请有人在这个问题上指导我。

先感谢您。

0 投票
1 回答
81 浏览

ios - iOS - 通知到达时应用程序在后台时的网络连接

我有一个要求,当应用程序处于后台时,当新的推送通知到达时,我需要建立网络连接。

有可能这样做吗?有什么钩子?

现在,我在滑动通知以打开应用程序时建立连接。但是,当用户看到新数据时,它会延迟。

任何其他方式可以更快地从新推送通知触发的服务器获取数据?