«

»

Print this Post

How I Validated That the Code Would Work

Xcode to the rescueIn this post I describe how I validated the API would work from an iPhone App.

In an earlier post I had mentioned that I have decided what my next app will be – the iSifterApp. Based on the API methods exposed by sifterapp.com, I have started designing the app. At this time, the API only allows read access to the projects. Essentially the API retrieves the following information:

  1. Related to Project: Project Listing and Detail, People, Milestones and Categories.
  2. Related to Issues: Issue Listing and Detail

Issue detail includes comments as well.

The example requests listed in the API documentation are all curl commands. Such as:

curl -H 'X-Sifter-Token: 343b1b831066a40e308e0af92e0f06f0' \
     -H 'Accept: application/json' \
     'https://example.sifterapp.com/api/projects/189113590/issues/46809840'

I have not used curl before. I was not even aware that http requests could have headers! I had created iPhone Apps using NSURLRequest, but that class had no methods for adding headers to the call. I was a bit worried, but I did not have to be. A quick google search revealed NSMutableURLRequest. It was the perfect solution. It had a method called addValue:forHTTPHeaderField. Very convenient.

I opened xcode, edited an old project that had an NSURLRequest request in it and modified it. I changed the NSURLRequest to NSMutableURLRequest, added

    [request addValue:@"6ac33952asdfe43asc013f7755adf3decbf2afba55" forHTTPHeaderField:@"X-Sifter-Token"];

and

    [request addValue:@"application/json" forHTTPHeaderField:@"Accept"];
and for the address
    NSString *address = [ NSString stringWithFormat:@"https://lookitup4me.sifterapp.com/api/projects%@", @"" ];

and executed it.

In an instant, I got the response. I validated the output at http://json.parser.online.fr/, and it showed me all the right information nicely formatted.

I had already started on the design. But with this request with header and access key validated, I am confident that I can proceed with the coding. Here is one of the main screens in iSifterApp, which I will explain in subsequent posts.

I mentioned skins in an earlier post. I will explain it in detail later, but essentially it is giving the user a choice over the look and feel of the UI.

Permanent link to this article: http://www.johnvarghese.com/283/

Leave a Reply