问题标签 [uibackgroundtask]

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 回答
130 浏览

ios7 - IOS:在用户定义的持续时间上推送通知

我的应用程序应该在用户定义的持续时间内收到推送通知(例如每周一上午 11 点)。

因此,对于该应用程序必须在用户定义的日期和时间检查服务器(在后台)上的新更新,应用程序此时可能没有运行,但它仍然必须检查服务器上的新更新。如果发现任何更新,服务器将发送相同的推送通知。

如何实现基于时间的后台进程?

谢谢!

0 投票
2 回答
5020 浏览

ios - 通过BackgroundTask 在后台维护Multipeer Connectivity 会话?

当应用程序临时进入后台时,我试图维护一个 MultipeerConnectivity “会话”,所以我考虑过使用后台任务,因为我在这里见过几次......问题是我不知道如何“维护”与 UIBackgroundTask 的会话,有人可以发布提示吗

我不关心广告商/浏览器,可以阻止它们,但我希望会话不要断开连接,因为目前重新连接是超级错误。

0 投票
2 回答
1487 浏览

ios - 即使在后台 ios 中也连续调用方法

有没有办法只要app在后台或者前台运行就可以连续调用一个方法。这个方法用来检查时间,根据时间的变化触发通知。

这是方法

我的要求是从一种方法发布一个 NSNotification,而不管应用程序状态如何

0 投票
1 回答
370 浏览

ios - 长时间运行的后台任务完成后应用程序未挂起

为什么我的长时间运行的后台任务完成后我的应用程序没有立即挂起?

在 iOS 8 上运行的应用程序使用长时间运行的后台任务来避免在进入后台时被挂起。一切都很好。任务完成后,应用程序调用后台任务完成处理程序:

但是,调用backgroundTimeRemaining返回 40 秒的时间间隔。

事实上,应用程序在结束任务后至少不会再挂起 20 秒。

  • 为什么会这样?
  • 应用程序是否总是会收到完整的执行时间?
  • 我可以加快应用暂停吗?
0 投票
1 回答
6273 浏览

swift - 尝试实现 beginBackgroundTaskWithExpirationHandler 和 UILocalNotification

AppDelegate当我的应用程序进入后台时,我的代码中有以下代码:

我希望它UILocalNotification()每 X 秒执行一次,NSTimer.scheduledTimerWithTimeInterval()但它只执行一次。

我仍在努力了解后台任务的工作方式。有什么我想念的吗?

0 投票
1 回答
1734 浏览

objective-c - IOS:后台收到本地通知时的调用方法

我知道这个问题看起来是重复的,但我没有按照我的要求找到确切的答案。按照以下步骤进行与医疗事件相关的应用程序

当应用程序处于前台并且当应用程序到达后台时,一切正常关于发送短信。

有什么解决方案吗?欢迎任何帮助!谢谢!

0 投票
1 回答
360 浏览

ios - UIBackgroundTask not ending

I am using UIBackgroundtaskIdentifier to create background task of uploading images to server.

When I take the application in to background, it show that applicaiton have 179 seconds to run in background. I log the server responses as it uploads that images one by one.

The strange thing happening here is that, after the time provided by iOS for my application to run in background is over still the upload doesn't stops. Suppose I tried uploading 33 images, and when 179 seconds got complete application was successful uploading only 9 out of 33 images. But the process doesn't stop. And application keep uploading the remaining pictures.

0 投票
5 回答
7451 浏览

ios - beginBackgroundTaskWithExpirationHandler 调用 endBackgroundTask 但未结束进程

即使应用程序在后台运行,我也想运行一些长时间运行的进程。我正在调用应用程序的beginBackgroundTaskWithExpirationHandler:方法,并且在 expireBlock 中我正在调用应用程序的endBackgroundTask. 这是实现:

在某些情况下,我的串行队列有更多任务要执行,这些任务无法在系统提供的时间内完成。所以到期块将执行,并且我正在结束UIBackgroundTaskIdentifier但没有停止调度过程(我什至不能取消调度)。

苹果的文件说:

对 beginBackgroundTaskWithName:expirationHandler: 或 beginBackgroundTaskWithExpirationHandler: 方法的每次调用都会生成一个唯一的令牌以与相应的任务相关联。当你的应用完成一个任务时,它必须调用 endBackgroundTask: 方法并带有相应的令牌,让系统知道任务已经完成。未能为后台任务调用 endBackgroundTask: 方法将导致您的应用程序终止。如果您在启动任务时提供了过期处理程序,系统会调用该处理程序并给您最后一次机会来结束任务并避免终止。

所以,根据这个,如果我不调用endBackgroundTask:我的应用程序将被终止,这没关系。

我的问题是:在我当前的实现中,如果我endBackgroundTask:在 expireHandler 块中调用并且我的调度队列的任务没有完成怎么办?我的应用程序将被终止或将被暂停?

谢谢

0 投票
0 回答
528 浏览

ios - UIBackgroundTaskIdentifier 在过期后无法重新启动

我有一个应用程序,每 5 分钟在后台使用UIBackgroundTaskIdentifier. 我的问题是它可以正常工作 1,2 小时,然后在过期后它永远不会重新启动后台任务。我正在使用的代码如下所示,

在 AppDelegate.m

在过期部分它确实来了,但从不调用该方法[self startBackgroundTask]

任何帮助都感激不尽。

0 投票
2 回答
2460 浏览

ios - Can't endBackgroundTask:不存在标识符为 * 的后台任务,或者它可能已经结束

我的应用通过以下方式监控用户位置更新(不一定是重大的位置变化):

当应用程序(在模拟器中)处于前台时,一切正常,但是当将其挂起到后台(不终止)时,我在日志中收到此错误:

Can't endBackgroundTask:不存在标识符为 * 的后台任务,或者它可能已经结束

此错误的所有其他答案都与位置服务无关,而只是一般的后台任务问题。