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

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

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

通过URL协议实现从Safari等浏览器中跳转打开你的app_第1张图片
  


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

通过URL协议实现从Safari等浏览器中跳转打开你的app_第2张图片

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

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

复制代码
  1. +(void)alert:(NSString*)information{
  2.     UIAlertView *alert=[[UIAlertView alloc]initWithTitle:@"提示" message:[NSString stringWithFormat:@"程序通过URL协议打开,该URL为:“%@”",information] delegate:self cancelButtonTitle:@"确定" otherButtonTitles:nil];
  3.     [alert show];
  4.     [alert release];
  5. }


再在AppDelegate.m中加入这些代码
复制代码
  1. -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
  2.     if(!url){
  3.         return NO;
  4.     }
  5.     
  6.     NSString *urlString=[url absoluteString];
  7.     [ViewController alert:urlString];
  8.     return YES;
  9. }


就完成了这个看似很酷的功能,至于参数传递的问题大家可以自己研究一下,不难的,这里没有做进去

附上Demo: URLProtocol.zip (51 K) 下载次数:278

你可能感兴趣的:(软件,ios开发,iPhone开发,苹果,开源技术)