I released TheNews iOS (bit.ly/thenews-ios) over the past summer. A required part of the app was to communicate with the designer news api. The api had only just been recently released so there was no wrapper for iOS apps.
As such, I had to create an API wrapper. Having never attempted this before, I studied a few examples on Github and modeled my solution like those I had seen.
It was a really interesting project to build. It's important to create the wrapper as a singleton to maintain a user session & prevent multiple calls of the same requests. I also built the wrapper with the consideration that others might find it useful (https://github.com/TosinAF/DNManager) .
As such I had to consider what methods should be public and make them easy for anyone to get familiar with it.
I leveraged the power of the AFNetworking Library to build the api wrapper & used blocks so as to allow the user to specify what actions should be taken if the request succeeds or if it fails.