Its a shame NSURL can't do this task for us. So here's my stab at it:

You can then use it like so:

NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys: @"jim", @"username", @"abc123", @"password", nil];

NSString *urlWithQuerystring = [self addQueryStringToUrl:@"https://myapp.com/login" params:params];

Thanks for reading! And if you want to get in touch, I'd love to hear from you: chris.hulbert at gmail.