If a request timed out, you usually have to call that request again by yourself. AFNetworking+RetryPolicy is an objective-c category that adds the ability to set the retry logic for requests made with AFNetworking.
- retryCount - How many times to try.
- retryInterval - Time interval between attempts in seconds.
- progressive - Next attempt will always take more time than the previous one. (Uses Exponentiation)
- fatalStatusCodes - These will trigger failure block immediately when received and ends current retry.
- Installing through CocoaPods with
pod 'AFNetworking+RetryPolicy'
- Use
#import "AFHTTPSessionManager+RetryPolicy.h"
directive.
Want to try it first? Use
pod try AFNetworking+RetryPolicy
command.
- Simple
GET
request with AFNetworking+RetryPolicy could look like this:
AFHTTPSessionManager *manager = [AFHTTPSessionManager new];
[manager GET:@"foo" parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
NSLog(@"%@", responseObject);
} failure:^(NSURLSessionDataTask *task, NSError *error) {
NSLog(@"%@", error.localizedDescription);
} retryCount:5 retryInterval:2.0 progressive:false fatalStatusCodes:@[@401, @403]];
- Enable to see what is happening by setting the
AFHTTPSessionManager
’sretryPolicyLogMessagesEnabled
property totrue
. Disabled by default.
- AFNetworking 3.0 or later (However old versions are available at the other branches)
- Target iOS 7 or later
- Target OS X/macOS 10.9 or later
- Xcode 7 or later
For AFNetworking 1 support*
- use branch
afn1-support
. - Installing through CocoaPods with
pod 'AFNetworking+RetryPolicy', git: 'https://github.com/kubatruhlar/AFNetworking-RetryPolicy.git' , branch: 'afn1-support'
*Will not be updated anymore.
For AFNetworking 2 support*
- use branch
afn2-support
. - Installing through CocoaPods with
pod 'AFNetworking+RetryPolicy', git: 'https://github.com/kubatruhlar/AFNetworking-RetryPolicy.git' , branch: 'afn2-support'
*Will not be updated anymore.
- This library is open-sourced and maintained by Jakub Truhlář.
- AFNetworking is owned and maintained by the Alamofire Software Foundation.
- Like 👍 AFNetworking, this category is published under the MIT License. See LICENSE.md for details.