gpt4 book ai didi

swift - 使用 Siesta 和 Swift 在后台使用应用程序发出网络请求

转载 作者:行者123 更新时间:2023-11-30 11:42:55 25 4
gpt4 key购买 nike

我正在发出从 UNUserNotification 操作发起的 HTTPS 请求,因此它会在我的应用程序在后台运行时执行。我怀疑 Siesta 不支持此功能,在这种情况下,我将提出功能请求!但首先我想看看我的说法是否正确。

当我使用 Siesta 在后台设置并发出请求时,在打开应用程序之前不会发出任何请求,此时我收到 URLSessionTask 错误代码 -1003“HTTP 加载失败”消息:URL session 任务失败:找不到指定主机名的服务器。

如果我使用普通的 URLSession 发出请求,而不使用样板配置 session 以进行后台执行,这与我看到的行为完全相同:

let config = URLSessionConfiguration.background(withIdentifier: String(format: "%f", Date().timeIntervalSinceReferenceDate))

config.isDiscretionary = isDiscretionary
config.requestCachePolicy = .reloadIgnoringLocalCacheData
config.sessionSendsLaunchEvents = true
config.timeoutIntervalForResource = backgroundTimeoutInterval

return URLSession(configuration: config,
delegate: self,
delegateQueue: .main)

有没有一种开箱即用的方法可以在午睡中实现这种行为?

最佳答案

是的,Siesta 目前并不正式支持后台请求,但也没有正式排除它们。

尚不完全清楚后台请求在 Siesta 中的含义。它是一个内存缓存,那么请求的数据去了哪里呢?然而,Siesta 的持久缓存支持很快就会从“自己动手”升级为“开箱即用”,届时后台请求将变得更加引人注目。

您应该能够向您的 Siesta 服务构造函数传递一个为后台请求配置的 URLSession,如上面的示例所示,Siesta 将很乐意使用它来发出请求,就像以前一样。不太清楚的是,当这些响应到达时会发生什么?如果有必要,您将陷入保留响应的困境。

关于swift - 使用 Siesta 和 Swift 在后台使用应用程序发出网络请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49143023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com