问题标签 [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 投票
0 回答
89 浏览

ios - 应用程序在后台时未调用 didReceive 和 willPresent

在里面AppDelegate我创建了一个UNNotificationRequest带有触发器的 23:58:58 pm(午夜)收到通知并在通知中心屏幕上看到。所以我知道它会触发

当时的应用程序在后台,但didReceive此时willPresent没有被调用。

当应用程序进入后台时会触发后台任务,但这可能发生在下午 4 点而不是午夜。

我怎样才能得到一个简单的函数在每晚 23:58:58 执行,尤其是。当应用程序在后台时?

提前致谢

0 投票
1 回答
6872 浏览

ios13 - iOS13不支持后台更新通知?

iOS13不支持后台更新通知,这是操作系统级别的bug吗?当应用程序进入后台时,Xcode 警告显示:

无法结束 BackgroundTask:不存在标识符为 1 (0x1) 的后台任务,或者它可能已经结束。中断 UIApplicationEndBackgroundTaskError() 进行调试。

0 投票
0 回答
33 浏览

ios - 如何检测锁定按钮动作?

当应用程序处于后台模式时如何检测锁定按钮动作。因此,当用户解锁手机时,我希望在前台打开我的应用程序。

请帮忙 ..

0 投票
0 回答
188 浏览

ios - 在应用程序无限期处于后台状态时调用 RESTful API

我想在应用程序处于后台模式时每 60 秒调用一次 post 方法。我的目标是存储用户位置并将其发送到我的服务器。到目前为止,出于测试目的,我使用beginBackgroundTaskWithExpirationHandlerNSTime每 3 秒调用一次临时打电话后,它工作正常。但问题是,这个后台任务在 10 次调用后被停止。但我希望它在一定的时间间隔内无限期地调用它(假设每 60 秒或一天一次)。

应用程序 iOS 部署目标:9.0 及其具有 swift 兼容性的 Objective C 项目。到目前为止,我已经这样做了:

任何人都可以帮助我如何targetMethod定期调用它?

谢谢

0 投票
0 回答
86 浏览

xamarin - 如果应用程序被杀死,UIBGTaskScheduler 会工作吗?

我正在开发应用程序,我想在其中安排警报,例如在 Android 警报服务中。

我知道 iOS 13 中有 UIBGTaskScheduler 但我无法确定这在应用程序被杀死时是否可以工作?

我进行了很多搜索,但在应用程序被杀死时找不到有关该过程的信息。

我也看到了很多例子,但找不到我正在寻找的答案。

任何人都可以帮助我吗?

提前致谢。

0 投票
1 回答
836 浏览

ios - 应用程序在后台模式下仅在 iOS 13 上崩溃

该应用程序仅在 iOS 13 上崩溃,当我看到详细报告时,报告提到该应用程序在崩溃时处于后台。没有参考崩溃日志中提到的代码行,我可以在其中找到导致崩溃的行。请建议其他人是否也遇到过此类问题。

崩溃:com.apple.main-thread

EXC_BAD_ACCESS KERN_INVALID_ADDRESS 0x0000000f5e5f9c3c


这就是我在 beginBackgroundTask(expirationHandler:) 中所做的。请纠正我在这里做错了什么。

0 投票
0 回答
70 浏览

ios - 应用程序执行连续的后台活动 - 即使在终止状态下

我刚刚注意到,我的应用程序的后台活动在使用几分钟后猛增。

  1. 位置权限已禁用。
  2. 从 iOS 设置应用程序禁用应用程序的后台刷新。
  3. 启用推送通知。

即使我通过向上滑动从“最近使用的应用程序”窗口终止了该应用程序,它也会继续在后台启动/运行。

非常感谢任何有关如何调试的线索。

我已经分享了电池使用百分比。此外,来自 Organizer-tool 的 Xcode 的电池使用统计信息

每个版本的电池使用情况统计

在此处输入图像描述

电池使用百分比 在此处输入图像描述

观察:

  1. 手机重启后后台活动停止。
  2. 即使我禁用了后台应用程序刷新或处于 LowPowerMode 也会发生后台活动
0 投票
0 回答
87 浏览

swift - 未知进程名称 - vImageConvert_AnyToAny - 在 beginBackgroundTask 上失败

嘿,所以我正在后台线程上调整图像的大小,该线程在应用程序进入后台后继续执行beginBackgroundTask以及其他一些代码,如下所示:

当我触发调整大小并返回主屏幕时,我会收到一堆以下错误。但是,如果我让它在前台运行,它会完美运行。

[未知进程名称] vImageConvert_AnyToAny - 失败宽度 = 0 高度 = 1 dst 组件 = 8 位整数 dstLayout = ByteOrder32Little dstBytesPerRow = 0 src 组件 = 8 位整数 srcLayout = ByteOrderDefault srcBytesPerRow = 0

当我设置断点时,我不能肯定地说我的调整大小逻辑正在吐出这些错误,但它必须是因为它可能是由orvImageConvert_AnyToAny调用的低级图像 api 。UIGraphicsGetImageFromCurrentImageContextdraw

如何摆脱这些错误?

0 投票
1 回答
62 浏览

ios - 快速后台执行

我在 AWS 上有一个由 HTTP Post 请求触发的 step 函数。该功能可能需要几秒钟才能完成。如果用户将应用程序置于后台,我希望继续执行,并在用户将应用程序放回前台后正确导航到下一个屏幕(如果执行已完成)。

我的 API 客户端端点如下所示:

我想知道实现这个调用的最佳实践。我目前正在使用下面的 beginBackgroundTask。

但是,implementation仅当我嵌套了 DispatchQueue.main.async 块时才有效,在这些块中我在发出 HTTP 请求后执行更多逻辑(例如在收到响应后确定要导航到下一个屏幕。

这是最好的方法吗?在 DispatchQueue.global 块内可以有几个不同的嵌套 DispatchQueue.main.async 块吗?我应该发布.receive(on: )到 DispatchQueue.global 吗?