问题标签 [backgroundtaskidentifier]

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

ios - 测试飞行显示应用弹出而不终止应用(beginBackgroundTask 问题)

当应用程序在前台完美运行时,一些测试人员会弹出应用程序崩溃的弹出窗口。我已经实现了 crashlytics,但那里没有崩溃日志。如果我要求测试人员提交反馈,appstoreconnect 只显示设备详细信息,没有崩溃日志文件。

不知何故,我设法从 iPhone 设置中的分析数据中收集了崩溃日志。这就是崩溃日志所说的:

我的应用程序是一个聊天应用程序,其中包括在后台发送消息的功能。我的猜测是下面的代码导致了这些崩溃

如果有人遇到过这样的问题,请帮助我解决一些问题。几周来我一直试图解决这个问题,但没有任何解决方案。

0 投票
1 回答
62 浏览

ios - 快速后台执行

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

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

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

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

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