iOS唤起-网页启动App&跳转到App指定的页面

转自:网页启动App&网页跳转到App指定的页面


1、介绍

     在App的开发中,App之间的相互跳转启动频频出现。这也是最近开发中常见的要求。怎么达到要求呢?请跟我往下看。。


2、做准备

想要在网页端唤起App。首先,你必须在App 中设置有 URL Schemes 。设置的位置如下图所示:


我们本次demo 就使用上图的 URL Schemes 为  “ WebCallApp”。

3、我们找到我们工程的AppDelegate.m 文件,并写下该方法,如下:


  1. -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options;  

在写该方法的时候有需要注意的地方,在代码中已经标示出来


  1. -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{  
  2.     if (url) {  
  3.         /** 
  4.          第一种>> 
  5.           
  6.          在网页上打开App 
  7.          作用:只是打开App 
  8.           
  9.          使用方法》 
  10.          在网页里的调用代码如下:: 
  11.          WebCallApp:// 
  12.           
  13.          第二种>> 
  14.           
  15.          在网页上跳转到指定的页面 
  16.          作用: 某个页面的跳转 
  17.           
  18.          使用方法》 
  19.          在网页里的调用代码如下:: 
  20.          WebCallApp://togo=AAAXXX 
  21.           
  22.          AAAXXX 的介绍: 
  23.           
  24.          1、AAAXXX 肯定是一个字符串 
  25.          2、可以是一个JSON 串 
  26.          3、也可以是一个单一的只表示一个对象的标示名字 
  27.          */  
  28.           
  29.          /** 
  30.           举例子: 
  31.           跳转到“风情*紫女”的页面 
  32.            
  33.           给 “风情*紫女” 页面,规定一个标示  fqznVC 
  34.           */  
  35.         NSString * acceptUrl = [url.absoluteString componentsSeparatedByString:@"togo="].lastObject;  
  36.         /** 
  37.          发起通知 
  38.          */  
  39.         [[NSNotificationCenter defaultCenter] postNotificationName:@"jumpVc" object:@{@"Vc":acceptUrl}];  
  40.         /** 
  41.          请注意: 跳转到指定的页面,这里要求App 必须处于启动状态。否则就是打开App,不发生跳转 
  42.           
  43.          如果真的要显示指定的页面,那就把指定的页面设置成 rootController 。 
  44.          */  
  45.     }  
  46.     return YES;  
  47.       
  48. }  


4、调用演示

      1》 唤起App

       WebCallApp://

       

      2》 跳转到指定的页面

      WebCallApp://togo=fqznVC