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

转载自: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 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值