That said if you haven't used AFNetworking before, I highly recommend doing so. Start with the AFHTTPRequestOperation class(es). And if you're writing an API wrapper of any kind, definitely check out subclassing either AFHTTPRequestOperationManager (for iOS 6) or AFHTTPSessionManager (for iOS 7).
Edit: Derp, I was wrong — AFHTTPClient's been split-up. Thanks for calling me out, @dcaunt; I've updated my remarks.
https://github.com/AFNetworking/AFNetworking/wiki/AFNetworki...
Does a dance.
"AFNetworking 2.0 introduces AFURLSessionManager, which manages an NSURLSession object based on a specified NSURLSessionConfiguration object, and conforms to <NSURLSessionTaskDelegate>, <NSURLSessionDataDelegate>, <NSURLSessionDownloadDelegate>, and <NSURLSessionDelegate>. Convenience methods to inspect and cancel tasks are provided, as well as block-based callback properties for each delegate method"
Does another dance
It just gets better and better.
To bring it back to CocoaPods, Mattt's push towards making sure that CocoaPods works well with AFNetworking and vice-versa has had a huge benefit on the community in terms of both showing what the new standard for OSS on Obj-C should look like and what the best practices for writing apps should be. And I applaud him for this.
I think AFNetworking is the library that has most raised the sea level that we all now work at. Thank you Mattt. If I didn't already owe you a beer, I do so doubly now.
Another essential feature is SSL pinning, which helps prevent against man-in-the-middle attacks and other vulnerabilities. If your app interacts with any sensitive customer information, you would be well-advised to take a look at AFSecurityPolicy: http://cocoadocs.org/docsets/AFNetworking/2.0.0/Classes/AFSe...
If you're using UIKit, there's a good chance that at least one of the many UIKit extensions would be worth your while: https://github.com/AFNetworking/AFNetworking/tree/master/UIK...
I also think serializers will have a dramatic impact on the reusability and composability of business logic across your application in a really elegant way.
I'd be very interested to hear your thoughts as you do networking on iOS 7 with and without AFNetworking. Feel free to reach out over Twitter or email.
Concerns are that once I make my own, I will make the same mistakes, and in the end it would have been fruitless. AFNetworking is one of those libraries that is if I were to remake it, I'd make similar mistakes and end up hating what I made.
Originally I saw that the 2.0 release would only work on iOS 7. Does it work with iOS 6 and under now as well? That would make me more bullish on upgrading.
(This was changed from the original plan to only target iOS 7, after it was determined that A) only the two classes needed iOS 7, and B) although iOS 7 adoption is crazy good, the same isn't as true of OS X)
I have been using it for a few projects and it's been really helpful. Has the correct level of abstraction.