// // NSURLSession+PLCategory.m // MoHuanXingYu // // Created by apple on 2020/8/25. // Copyright © 2020 MoHuanXingYu. All rights reserved. // #import "NSURLSession+PLCategory.h" #import void swizzing(Class class, SEL originalSelector, SEL swizzledSelector) { Method originalMethod = class_getClassMethod(class, originalSelector); Method swizzledMethod = class_getClassMethod(class, swizzledSelector); method_exchangeImplementations(originalMethod, swizzledMethod); } @implementation NSURLSession (PLCategory) + (void)load { static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ Class class = [NSURLSession class]; swizzing(class, @selector(sessionWithConfiguration:), @selector(qy_sessionWithConfiguration:)); swizzing(class, @selector(sessionWithConfiguration:delegate:delegateQueue:), @selector(qy_sessionWithConfiguration:delegate:delegateQueue:)); }); } + (NSURLSession *)qy_sessionWithConfiguration:(NSURLSessionConfiguration *)configuration delegate:(nullable id)delegate delegateQueue:(nullable NSOperationQueue *)queue { if (!configuration) { configuration = [[NSURLSessionConfiguration alloc] init]; } #ifdef DEBUG #else configuration.connectionProxyDictionary = @{}; #endif return [self qy_sessionWithConfiguration:configuration delegate:delegate delegateQueue:queue]; } + (NSURLSession *)qy_sessionWithConfiguration:(NSURLSessionConfiguration *)configuration { if (configuration) { #ifdef DEBUG #else configuration.connectionProxyDictionary = @{}; #endif // configuration.connectionProxyDictionary = @{}; } return [self qy_sessionWithConfiguration:configuration]; } @end