Open iOS app from URL AND Pass Parameters

DHShah01 picture DHShah01 · Jan 9, 2013 · Viewed 47.3k times · Source

A link should open the app. I've got that to work. I just want to know how to pass a parameter. Let's say the url is "addappt://?code=abc". When a view controller pops up, a code field should have populated text - the letters after the equals to sign. I've got part of this to work. I use the following (in app delegate.m):

NSArray *elements = [url.query componentsSeparatedByString:@"="];
NSString *key = [[elements objectAtIndex:0] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
          val = [[elements objectAtIndex:1] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

(BTW: val is declared in appdelegate.h

I am also able to pass val to the view controller. My only problem is populating the textfield, named 'code'. How can you populate code as soon as the app is opened by the link?

Help Appreciated.

Answer

Nikola Kirev picture Nikola Kirev · Jan 9, 2013

Here is a nice tutorial on Using Custom URL Scheme in iOS

As in the tutorial, you should parse the URL parameters and store them to use in the app in this method:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
  // Do something with the url here
}