URLSessionConfiguration

URLSessionConfiguration

从iOS 11开始,我们可以设置:

let sessionConfiguration = URLSessionConfiguration.default
sessionConfiguration.multipathServiceType = .interactive


然后,当WiFi连接太慢时,该应用程序将自动切换到蜂窝网络,因此HTTP请求将正常运行。我需要这样做,因为我使用的是WeyeFeye设备,因此用户的设备始终连接到无法正常工作的WeyeFeye WiFi(我们只需要从WeyeFeye获取文件)即可。

因此,当我设置此.interactive URLSessionConfiguration时,我的应用程序可以对后端进行常规的REST请求。但是google map不起作用,因为它使用URLSessionConfiguration.default会话配置。

有什么方法可以将会话配置传递给Google Maps

更新:

我对Firebase框架有同样的问题

最佳答案

我没有看到明显的东西。如果找不到,则应该针对SDK提交错误,并要求他们公开一个配置对象,您可以使用该对象提供自定义会话配置作为基准。

同时,除非您能找到控制使用哪种会话的方法,否则我认为解决此问题的唯一其他方法是使用swizzling

基本上,您将使用自定义实现替换NSURLSessionConfiguration类中的getter方法,该实现始终返回您希望其返回的值。之后,在您的应用中创建的所有会话都将使用该模式。

10-08 12:15