I will keep this short to not belabour the point. I have done many iOS apps with both ASIHTTP and AFNetworking.
I now no longer use ASIHTTPRequest for the following reasons:
- It is a dormant project, and nobody is working on it or maintaining it.
- It has not been upgraded to use ARC (Automatic reference counting), so it becomes clear you are embedding legacy code when you have to have compilor switches of -fno-objc-arc to make it build.
- It has not been updated to make use of blocks which brings the development back to somewhat older design patterns.
AFNetworking is a good choice for majority of your criteria, for the following reasons:
- AFNetworking is not dormant, and is actively being contributed to. (this is in a good place to take over from ASIHTTPRequest if it added more file handling)
- JSON Performance - it does integrate with NSJSONSerialization and deserialize json REST requests automatically for you.
- API is very clean and easy to use (makes use of blocks, so your code will be cleaner also) But, i would recommend using something else for file downloads and uploads, don't know a good standard solution for this yet.
- Simplicity, yes, very simple.
- No issues with using it for iOS 6 and 7, have just used it recently for a project and it's iOS 7 ready.
Hope this helps.