我正在为我的iOS项目使用Moya。我试图使用Netfox来记录我的HTTP请求。
由于Moya是Alamofire的包装器,我最终在Alamofire.SessionManagerNFXProtocol中创建了带有URLSessionConfiguration的自定义protocolClasses。我成功地收到了请求和响应的响应日志和头,但总是错过了请求正文。
我偶然发现了this fix on Netfox from 2015,但我不知道如何与Moya一起使用它。你们中有人知道如何实施吗?
提前谢谢!

最佳答案

只需要为Moya使用网络日志插件,它已经是Moya的一部分,只需要连接它。在实例化Moya提供程序时,可以传递插件数组:

let plugins = [NetworkLoggerPlugin()]
let provider = MoyaProvider<MyNetworkApiService>(manager: manager, plugins: plugins)

要仅为开发启用日志记录,并为发布版本禁用日志记录,您可以执行以下操作:
    var plugins: [PluginType] = []
    #if DEBUG
    plugins.append(NetworkLoggerPlugin())
    #endif
    let provider = MoyaProvider<MyNetworkApiService>(manager: manager, plugins: plugins)

10-08 05:31