您的位置:首页 > 移动开发

通过 URL 协议实现从 Safari 等浏览器中跳转打开你的 app

2012-09-24 00:33 579 查看
转载自:http://www.cocoachina.com/bbs/read.php?tid=109315

看到Amazing Alex中有个关卡下载的功能,在浏览器中选择要下载的关卡(如下图)以后会自动跳转回这个游戏。



实现这样的功能并不麻烦,通过将网上一些相关教程汇总以后就写了下面的教程分享。

实现效果如下,在浏览器中输入“appABC://”之后就会打开这个程序,打开后程序中会显示跳转过来的链接地址。



第一步:在info.plist中加入这些内容



其中URL identifier 可以随便取,URL Schemes 就是实现跳转 URL 协议的名称(可以多个)

然后,在视图控制器中加入这样的代码用于显示跳转过来的地址:

+(void) alert:(NSString*)url {
UIAlertView* av = [[UIAlertView alloc]
initWithTitle:@"提示"
message:[NSString stringWithFormat:@"程序通过URL协议打开,该URL为:“%@”", url]
delegate:self
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[av show];
[av release];
}
再在AppDelegate.m中加入这些代码

-(BOOL) application:(UIApplication*)application handleOpenURL:(NSURL*)url {
if(!url) {
return NO;
}

NSString* urlString = [url absoluteString];
[ViewController alert:urlString];
return YES;
}
就完成了这个看似很酷的功能,至于参数传递的问题大家可以自己研究一下,不难的,这里没有做进去

附上Demo:

URLProtocol.zip (51
K) 下载次数:12
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐