从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方法,该实现始终返回您希望其返回的值。之后,在您的应用中创建的所有会话都将使用该模式。