AFNetworking ElfSundae UIWebView-Patch - PullRequest
0 голосов
/ 09 марта 2020

Я обновил модуль AFNetworking, чтобы избавиться от UIWebView, как предложено https://github.com/ElfSundae/AFNetworking/issues/1.

Но теперь я получаю некоторые устаревшие предупреждения: 'GET:parameters:progress:success:failure:' is deprecated.

По коду: [manager GET:URL.absoluteString parameters:nil progress:nil success:^(NSURLSessionTask *task, id responseObject) { ....

Я дважды проверил код с помощью руководства по миграции - но я не вижу, в чем дело ..

Спасибо

Martin

1 Ответ

1 голос
/ 11 марта 2020

Коммит ded6a76 добавлен метод GET:parameters:headers:... для поддержки установки заголовков для каждого HTTP-запроса и устаревший метод GET:parameters:....

Мой форк основан на последнем коммите в основной ветке AFNetworking, включает этот коммит.

Старый метод GET без параметра headers просто устарел, вы можете использовать его безопасно или перенести код для использования нового метода GET, передав headers:nil , Или вы можете создать подкласс AFHTTPSessionManager, чтобы отключить предупреждения:

@interface MyHTTPSessionManager : AFHTTPSessionManager

// These three methods below have been marked as deprecated in AFNetworking,
// we override them here and remove DEPRECATED_ATTRIBUTE to silence the
// deprecated-warning.


- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString
                            parameters:(nullable id)parameters
                               success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                               failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;

- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
                             parameters:(nullable id)parameters
                                success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;

- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
                             parameters:(nullable id)parameters
              constructingBodyWithBlock:(nullable void (^)(id <AFMultipartFormData> formData))block
                                success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure;

@end

@implementation MyHTTPSessionManager

- (nullable NSURLSessionDataTask *)GET:(NSString *)URLString
                            parameters:(nullable id)parameters
                               success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                               failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure
{

    return [self GET:URLString parameters:parameters progress:nil success:success failure:failure];
}

- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
                             parameters:(nullable id)parameters
                                success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure
{
    return [self POST:URLString parameters:parameters progress:nil success:success failure:failure];
}

- (nullable NSURLSessionDataTask *)POST:(NSString *)URLString
                             parameters:(nullable id)parameters
              constructingBodyWithBlock:(nullable void (^)(id <AFMultipartFormData> formData))block
                                success:(nullable void (^)(NSURLSessionDataTask *task, id _Nullable responseObject))success
                                failure:(nullable void (^)(NSURLSessionDataTask * _Nullable task, NSError *error))failure
{
    return [self POST:URLString parameters:parameters constructingBodyWithBlock:block progress:nil success:success failure:failure];
}

@end

код из ESAPIClient

...