gpt4 book ai didi

ios - 设置 NSURLSession sharedSession 的配置

转载 作者:可可西里 更新时间:2023-11-01 04:09:41 24 4
gpt4 key购买 nike

我需要将自定义用户代理字符串设置为 NSURLSession 的 sharedSession。即每当我调用 [NSURLSession sharedSession] 时,它默认包含我的自定义配置,我不需要每次都设置它。

我可以将配置设置为 session ,

NSURLSession * session = [NSURLSession sharedSession];
NSString * userAgent = @"My String";
session.configuration.HTTPAdditionalHeaders = @{@"User-Agent": userAgent};

但是我找不到如何将配置设置为可以在代码中随时使用的sharedSession

最佳答案

那是因为你不能修改sh​​aredSession。想象一下,好像 sharedSession 是 iOS 设备 sharedSession 并且被所有其他应用程序和框架使用。它是不可配置的,对吧? documentation关于它的状态:

The shared session uses the currently set global NSURLCache, NSHTTPCookieStorage, and NSURLCredentialStorage objects and is based on the default configuration.

您要做的是定义一个自定义配置,这意味着您将需要具有自己的配置的自己的 session 对象。这就是为什么有一个特定的构造函数可以满足您的需求:

+ (NSURLSession *)sessionWithConfiguration:(NSURLSessionConfiguration *)configuration
delegate:(id<NSURLSessionDelegate>)delegate
delegateQueue:(NSOperationQueue *)queue

为简洁起见,您可以使用[NSURLSessionConfiguration defaultSessionConfiguration] 创建一个基本配置,然后在那里设置额外的 header 。

自然地,您将负责保留 session 等

关于ios - 设置 NSURLSession sharedSession 的配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27312852/

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