gpt4 book ai didi

ios - 更改现有 NSURLSession 上的 allowsCellularAccess

转载 作者:可可西里 更新时间:2023-11-01 05:33:03 25 4
gpt4 key购买 nike

是否可以通过修改底层 NSURLSessionConfiguration 来更改现有 NSURLSession 上的 allowsCellularAccess 的值?

如果用户的设备当前已连接到 WiFi,我希望在不取消现有请求的情况下接受用户对我的应用程序设置的任何更改。

最佳答案

没有。 session 复制其配置。它不保留它。在你的情况下我会做的是:

  • 复制 session 的现有配置并更改该标志。
  • 使用修改后的配置创建一个新 session 。
  • 如果用户使用 Wi-Fi,则在旧 session 上调用 finishTasksAndInvalidate。这将使 session 保持足够长的时间以完成任何现有请求,之后它将消失。
  • 如果用户使用的是蜂窝网络,请调用 invalidateAndCancel,然后等到用户连接到 Wi-Fi 后再重新启动这些任务。

此外,您可以对任务调用 cancelByProducingResumeData:,然后在具有不同配置的不同 session 中重新创建(恢复)它。该任务仍将报告其 allowsCellularAccess 的原始配置,但会根据新 session 的配置进行操作。 (过时的报告可能被认为是错误。)

关于ios - 更改现有 NSURLSession 上的 allowsCellularAccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37690155/

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