iPhone SDK可以把你的App和一个自定义的URL Scheme绑定。该URL Scheme可用来从浏览器或别的App启动你的App。
如何响应从别的App里发给你的URL Scheme申请,由你决定:可以唤醒你的App;也可以传一些信息给你。
给自己的App注册一个URL Scheme非常简单,就是在info.plist文件里定义两个键值就OK。如下图所示:
1 添加一个叫URL types的键值。
2 给其下的Item 1添加一个URL identifier,格式为Reverse Domain Name:com.mycompany.myapp。
3再加一个URL Scheme,然后给它定义一个值,任意字符串。比如:myapp。
myapp://
myapp://some/path/here
myapp://?foo=1&bar=2
// NSString *string =@"myapp://some/path/herecom.samli.myapp";
// NSString *string =@"myapp://some/path/here?foo=1&bar=2com.samli.myapp";
NSString *string =@"myapp://?foo=1&bar=2com.samli.myapp";
[[ UIApplication sharedApplication] openURL:[NSURL URLWithString:string]];
//URLstring 中 myapp 是info.plist/URL types/URL Schemes.
2 {
3 // Do something with the url here
例如,把传过来的URL保存在本地:
1 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
2 {
3 if (!url)
4 {
5 return NO;
6 }
7
8 NSString *URLString = [url absoluteString];
9 [[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];
10 [[NSUserDefaults standardUserDefaults] synchronize];
11 return YES;
12 }